我正在尝试使用带有正则表达式的Notepad ++ CTRL + F检测网页HTML中的阿拉伯字符。我输入以下内容作为我的搜索字词,它将返回所有字符。
[\u0600-\u06FF]
我正在使用的随机文本示例块 -
awr4tgagas
بqa4tq4twْq4tw4twtfwd
awfasfrw34جَ4tw4tg
دِيَّة عَرqaw4trawfَبِيَّ
为什么这个正则表达式无法正确检测阿拉伯字符以及我应该怎么做?我将文档编码为UTF-8。
谢谢!
答案 0 :(得分:12)
这是因为Notepadd ++正则表达式引擎是PCRE,它不支持您提供的语法。
要匹配unicode代码点,您必须使用\x{NNNN}
,以便正则表达式变为:
[\x{0600}-\x{06FF}]
答案 1 :(得分:8)
因为Notepad ++的正则表达式实现要求您使用
\x{NNNN}
表示匹配Unicode字符。
在您的示例中,
\x{0628}
可用于匹配ب
(bā',bet,beth,vet)字符。
\u
符号用于匹配大写字母。
解释Notepad ++的正则表达式语法。