崇高的正则表达式匹配 wx.data.xxx 但不匹配 wx.data.yyy

Sublime regular expression to match wx.data.xxx but not wx.data.yyy

我想找到所有

wx.data.xxx

但不是

wx.data.updatewx.data.get

我尝试了 (wx.data.)[^update][^get] 但它不起作用。

使用否定先行而不是否定字符集:

wx\.data\.(?!update|get)[^.\n]+

https://regex101.com/r/chy79T/1

您可以使用 (?! negative lookahead 断言右侧的内容不是获取或更新。

\S+ 匹配 1+ 次非空白字符。如果您不想同时匹配点和空格,则可以使用 [^.\s]+

\bwx\.data\.(?!get|update)\S+

Regex demo

例如,如果允许更新或获取,您可以添加单词边界 \b

\bwx\.data\.(?!(?:get|update)\b)\S+