我正在寻找一个用于Notepad ++的RegEx,用于挑选带有外来词的行。我的策略是尝试捕捉包含外来字符的单词。例如,如果我想找到大写的希腊词,我就会接近
^(?< ![a-z0-9]).+\[ΓΣΩΘΦΔΛΠ\](?!=a-z0-9)+$
试图找到任何这些带有负面外观的大写希腊字母,用于小写字母和数字,但它不起作用。
如果我制作了一个工作表达式行,例如:
1. BUTTER ΘEΦECOC EGGS
2. Flour CREAM sugar
3. AΘINA HELLAΣ ΠOΘCON
应仅匹配第1行和第1行3,因为2没有希腊字母的单词。
答案 0 :(得分:0)
只要您知道非英语单词也可以采用[a-z]+
形式,您可以使用\pL
将单词与Unicode常规类别字母中的代码点匹配。
匹配行:
(?i).*(?![a-z])\pM*\pL.*
匹配单词:
(?i)\b[a-z]*(?![a-z])\pM*\pL\w*
<强>解释强>
(?i)
无谓匹配。\b
是word boundary,用于匹配单词的开头。[a-z]*
匹配可能出现在非英文字母前的单词中的英文字母。(?![a-z])\pM*\pL
使用negative lookahead断言下一个字符不是英文字母,然后它匹配Unicode General Category Letter中的代码点,可能之前是变音符号。\w*
以匹配任何其他单词字符。