任何人都知道如何在记事本++中使用正则表达式来查找阿拉伯字符?

0xh*_*hes 5 regex unicode notepad++ arabic

我正在尝试使用带有正则表达式的Notepad ++ CTRL + F在网页的HTML中检测阿拉伯字符.我输入以下内容作为我的搜索字词,它返回所有字符.

[\u0600-\u06FF]
Run Code Online (Sandbox Code Playgroud)

我正在使用的随机文本样本块 -

awr4tgagas
?qa4tq4tw?q4tw4twtfwd
awfasfrw34??4tw4tg
?????? ???qaw4trawf??????
Run Code Online (Sandbox Code Playgroud)

任何想法为什么这个正则表达式将无法正确检测阿拉伯字符以及我应该怎么做?我将文档编码为UTF-8.

谢谢!

Ibr*_*jar 12

这是因为Notepadd ++正则表达式引擎是PCRE,它不支持您提供的语法.

要匹配您必须使用的unicode代码点,\x{NNNN}以便您的正则表达式变为:

[\x{0600}-\x{06FF}]
Run Code Online (Sandbox Code Playgroud)


Rob*_*sch 8

因为Notepad ++的正则表达式的实现要求你使用

\x{NNNN}
Run Code Online (Sandbox Code Playgroud)

用于匹配Unicode字符的表示法.

在你的例子中,

\x{0628} 
Run Code Online (Sandbox Code Playgroud)

可用于匹配?(bā',bet,beth,vet)角色.

\u符号用于匹配大写字母.

请参阅http://sourceforge.net/apps/mediawiki/notepad-plus/index.php?title=Regular_Expressions#Ranges_or_kinds_of_characters

有关Notepad ++的正则表达式语法的解释.