如果我有一个文本行,例如“so so so bit mike”,那么可能是任何一组包含任何空格组的单词组,那么正则表达式会是什么样的匹配
“某某位迈克”但不是“某某真的有点迈克”
我认为匹配的唯一方法是.*
,但.* (?!really)bit mike
仍匹配。
请注意,出于我的目的,我需要使用单个正则表达式。
答案 0 :(得分:2)
当您打算使用负面后视((?!...)
)时,您可能使用过期前瞻((?<!...
)。模式:
(?<!really )bit mike
将匹配
so and so bit mike
但不是
so and so really bit mike
答案 1 :(得分:2)
.* (?!really)bit mike
匹配。事实上你的负面前瞻在那里毫无用处,因为你基本上说接下来的六个角色一定不是“真的”,但是你说它们必须是“位mi”。没有字符串可以同时匹配“位mi”和“真正”,所以如果:
.* bit mike
匹配字符串,.* (?!really)bit mike
我不知道这是否是最简单的方法,但尝试使用负面的lookbehind而不是前瞻:
.*(?<!really) bit mike
其中说bit mike
之前的六个字符实际上不是字符串