有没有这样的正则表达式:
"/你好,我的名字是[任何不是"约翰"的东西],我喜欢披萨/"
因此,当我与这个正则表达式匹配时,只要名称所在的位置不是"john",它就应该返回 true。
"Heloo my name is abcd, and I like pizza" --> false
"Hello my name is asdf, and I like pizza" --> true
"Hello my name is john, and I like pizza" --> false
我的正则表达式应该是什么样子才能以最佳方式做到这一点?
Hello'smy'sname'sis's(?:(?!'bjohn'b).)*?'sand'sI'slike'spizza
试试这个。请参阅演示。
https://regex101.com/r/iY3eK8/14
试试这个。
/Hello my name is (?!john)[^,]+, and I like pizza/
通过 PCRE 动词(*SKIP)(*F)
Hello my name is john, and I like pizza(*SKIP)(*F)|Hello my name is [^,]+, and I like pizza
|<----String you don't want----------->|<-VERB--->|<------String you want----------------->
演示