regex(notepad ++)找到一个不以xx开头且包含zz的字符串

时间:2015-01-27 09:24:33

标签: regex notepad++

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

我需要找到不以__('

开头的字符串

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

特定于波兰语(而非英语)的辅音组合,例如:czsz

一般来说,目的是找到PHP代码中所有使用普通波兰语文本并且尚未被正确的gettext函数包围的地方。

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

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

而不是

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

这不是一件容易的事,但只要您没有同时包含已翻译和未翻译文本的行,您就可以搜索

^(?:(?!__\().)*(?:[ąęść]|[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)