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

Exclude a certain match in a capturing group in regex

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

这是我的捕获组:

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

如果 \n 后跟数字和字符,如“1st”、“2nd”、“” 4dffgsd", "3sf" 那么它应该停止匹配 BEFORE 数字。

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

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

更新:

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

第 1 行错误。

它不应匹配后跟字符的数字

如果后面的内容与您的模式相匹配,您需要使用 负前瞻 来 "stop" 匹配。所以,这样的事情可能会奏效:

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

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

这是一个页面,其中包含有关先行和后行的更多信息:http://www.rexegg.com/regex-lookarounds.html