此问题在此处已有答案:
Regular expression for a string containing one word but not another(5个答案)
Regular expression to match a line that doesn't contain a word(34答案)
Is there a regex to match a string that contains A but does not contain B [duplicate](3个答案)
9天前关闭。
假设我有以下几行:
1. blah app prod blah blah
2. blah app prod blah ignore
3. blah app staging blah blah
4. blah app staging blah ignore
5. blah app prod blah blah blah ignore blah blah
6. blah blah
字符串
我想写一个正则表达式,匹配所有包含“app prod”但不包含“ignore”的行。所以我想抓住:
1. blah app prod blah blah
型
我怎么写这个正则表达式?
我尝试了以下方法,但它返回了第1、2、5行:
.*app prod.*((?!ignore).)*
型
1条答案
按热度按时间i2byvkas1#
你应该把排除
ignore
的负前瞻放在模式的开始:字符串
Demo
当前模式
.*app prod.*((?!ignore).)*
的问题在于它只Assertignore
不会出现在 *app prod
之后。但是您希望此排除适用于出现在行中任何位置的ignore
。