例如我有文字:
goodstring sometext other text perfectstring
goodstring badstring perfectstring
goodstring 14554 sometext perfectstring
我需要一个正则表达式来查找除#34; goodstring"之间的 badstring 之外的所有行。和#34; perfectstring"。 所以我需要这样的东西:
goodstring\s(^badstring)\sperfectstring
替换 ^ badstring 的权利是什么?
答案 0 :(得分:2)
您可以使用负前瞻模式:
goodstring\s(?:(?!badstring).)*\sperfectstring
(?!badstring)
是负面的先行断言,意味着我们在下一个位置没有badstring
(?:(?!badstring).)*
将匹配另外0个在下一个位置没有badstring
的角色。