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

时间:2013-08-23 21:10:27

标签: regex unicode notepad++ arabic

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

[\u0600-\u06FF]

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

awr4tgagas
بqa4tq4twْq4tw4twtfwd
awfasfrw34جَ4tw4tg
دِيَّة عَرqaw4trawfَبِيَّ

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

谢谢!

2 个答案:

答案 0 :(得分:12)

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

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

[\x{0600}-\x{06FF}]

答案 1 :(得分:8)

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

\x{NNNN}

表示匹配Unicode字符。

在您的示例中,

\x{0628} 

可用于匹配ب(bā',bet,beth,vet)字符。

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

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

解释Notepad ++的正则表达式语法。