正则表达式 (notepad++) 查找不以 xx 开头且包含 zz 的字符串

regex (notepad++) find a string that does not start with xx AND contains zz

我在 PHP 个 UTF-8 文件上使用 Notepad++ (2015.01.10)。

我需要找到不以 __('

开头的字符串

包含波兰语变音元音,例如:ąęść

波兰语(相对于英语)特有的辅音组合,例如:czsz

总的来说,目的是找到 PHP 代码中所有使用纯波兰语文本但尚未被适当 gettext 函数包围的地方。

换句话说,我想找到所有字符串,例如:

polish-text-to-be-translated-containing-ą

而不是

__('polish-text-to-be-translated-containing-ą', true)

感谢您的帮助!

这不是微不足道的,但只要您没有同时包含已翻译和未翻译文本的行,您就可以搜索

^(?:(?!__\().)*(?:[ąęść]|[cs]z)

解释:

^         # Start of line
(?:       # Match the following group:
 (?!__\() # Unless the text "__(" can be matched,
 .        # match any non-linebreak character
)*        # any number of times.
(?:       # Then match the following group:
 [ąęść]   # Either one of these letters
|         # or
 [cs]z    # cz or sz
)         # End of group, no repetition necessary (one match is enough)