在正则表达式中排除捕获组中的某个匹配项
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
我有一个正则表达式捕获组,如果它也匹配特定模式,我想排除一个数字。
这是我的捕获组:
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