排除正则表达式中捕获组中的某个匹配项

时间:2015-12-16 17:26:58

标签: php regex preg-match-all

我有一个正则表达式捕获组,如果它也匹配某个模式,我想排除一个数字。

这是我的捕获小组:

https://regex101.com/r/zL1tL8/1

如果\ n后跟一个数字和字符,例如“第一”,“第二”,“ 4dffgsd ”,“ 3sf “然后它应该停止匹配之前数字。

0-9在捕获组中很重要。

到目前为止,我有这种模式[0-9][a-zA-Z]+来匹配一个后跟字符的数字。如何将此作为条件应用于捕获组?

更新

https://regex101.com/r/zL1tL8/4

第1行是错误的。

它不应与后跟字符

的数字匹配

1 个答案:

答案 0 :(得分:0)

您希望使用否定前瞻来停止"停止"匹配后匹配您的模式的东西。所以,这样的事情可能有用:

(\\n(?![0-9][a-zA-Z]))

在此处查看使用情况:https://regex101.com/r/zL1tL8/2

这是一个包含前瞻和后瞻信息的页面:http://www.rexegg.com/regex-lookarounds.html