Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想知道只有当它不以特定字符开头时,您如何才能匹配模式。我想匹配“foo”,但不想匹配“afoo”。我需要什么样的正则表达式运算符?我似乎找不到合适的。也许是锚?
例如我想改变
foo foo afoo foo
到
bar bar afoo bar
谢谢。
虽然下面的答案对于我的示例是正确的,但如果它是 /foo 而不是 afoo 呢?这似乎不一样?
听起来你正在寻找负面的看法。如果你说(?<!expr1)expr2,那么它会匹配任何expr2匹配项,只要它前面没有立即expr1匹配。例如:
(?<!expr1)expr2
expr2
expr1
>> 'foo foo afoo foo'.gsub(/(?<!a)foo/, 'bar') => "bar bar afoo bar"
str = "foo foo afoo foo" str.gsub(/\bfoo/, "bar") #=> "bar bar afoo bar"