如何使正则表达式否定先行在同一行上多次工作?

How can a regex negative lookahead be made to work multiple times on the same line?

如何使我的正则表达式在同一行中工作?

它应该与 'string' 的任何实例匹配,除非紧跟其后的是“<<”

修饰符:s

PCRE:

(?!.*?\<<)string

测试字符串:

string<< string string

string string<< string 

string string string<< 

string string string

当前结果(粗体匹配项)

字符串<< 字符串字符串

字符串字符串<< 字符串

字符串字符串字符串<<

字符串字符串字符串

预期结果

字符串<< 字符串字符串

字符串字符串<< 字符串

字符串字符串字符串<<

字符串字符串字符串

Link to regex101

感谢您的帮助!

像这样用字边界包围。

/\bstring\b(?!<<)/ 这将查找 string 两边都有单词边界但后面没有 <<

Updated your regex.