有没有办法让正则表达式不能回到这里?在中,我希望它不返回不是完全 8位的字符串。
preg_match_all( '/\w+\d{8}', 'word123456789', ret );
答案 0 :(得分:2)
\ w +也会匹配数字。如果你只想返回正好8位数字的字符串,那么可能是:
'/\b[A-Za-z]+\d{8}\b/'
编辑:应该读取仅以字母开头并以正好八位数结尾的字符串。如果您还想要其他内容,请澄清
答案 1 :(得分:0)
您可以使用以下内容:
'\w+(?<!\d)\d{8}\b'
\w+
- 任何字符出现次数<或次>
(?<!\d)\d{8}
- 任何8位数字后面没有其他数字。
\b
- 字边界。
word12345678 - Match
word123456789 - No Match
1word12345678 - Match
1w123456789rd12345678 - Match