是否存在匹配一个字符串的一般正则表达式,但仅当一行不包含另一个字符串时?
E.g我想匹配单词apple
,但前提是该行不包含banana
。以下几行:
apple banana
- 与pear apple
- 匹配apple但不匹配apple pear apple
- 匹配第一个和第二个苹果但不匹配梨我知道
^((?!banana).)*$
将匹配不包含banana的行。但我似乎无法将其与匹配的苹果结合起来。
答案 0 :(得分:4)
答案 1 :(得分:1)
无法发表评论,因为我还没有足够的声誉。但只是添加到anubhava的答案,所以像香蕉苹果香蕉的东西将起作用:
\b(?!.*banana)apple\b(?!.*banana)
编辑:
你是对的; Avinash Raj的回答看起来很有效。
答案 2 :(得分:1)