【发布时间】:2021-04-08 20:14:31
【问题描述】:
我有一个简单的正则表达式可以从字符串中删除不需要的字符(例如数字):
preg_replace(/[^a-z_]/, '', $str);
但现在它必须保留一个前缀,其中包含一些被删除的字符。该前缀格式由一个字母字符后跟四个数字组成(前缀示例:b1234)。字符串示例:
b7001_cp_parc_venc_fluxo
所以我尝试为该前缀添加一个非捕获组,但我无法使其工作。尝试使用以下内容:
(?:b[0-9]{4})[^a-z_]
但它会停止删除整个字符串中的数字字符,例如。
【问题讨论】:
-
试试
/^b[0-9]{4}(*SKIP)(*F)|[^a-z_]/。你的意思是b7001_cp_parc_venc_fluxo应该在preg_replace之后保持不变?
标签: php regex preg-replace