正则表达式 - 字符串中的位置没有一个单词


Regex - Not a word in a place in string

有没有这样的正则表达式:

"/你好,我的名字是[任何不是"约翰"的东西],我喜欢披萨/"

因此,当我与这个正则表达式匹配时,只要名称所在的位置不是"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----------------->

演示

相关文章: