如何阻止此正则表达式匹配第一行?我希望它匹配除 [keyworddash]
之外的每一行。基本上,如果有第二个匹配组,那么必须有一个冒号。
\[keyword(\d?):?(.*)\]
[keyworddash]
[keyword1]
[keyword2]
[keyword:default]
[keyword2:default]
最佳答案
这将通过假设所有行必须包含数字或冒号来排除第一行
\[keyword(?=(\d|:))(\d?):?(.*)\]
通过使用正向前瞻 (?=(\d|:))
,我们确保在 keyword
之后匹配的下一个字符是冒号或号,否则匹配失败。
关于regex - 如何防止此正则表达式匹配此模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34427086/