正则expression式为阿拉伯语言

我想写一个正则expression式来匹配一个句子中的每个单词:

我的正则expression式:“ \b(\w+)\b

结果: 正则表达式匹配阿拉伯图像

虽然它适用于英文单词。 使用阿拉伯语单词时不起作用。 我怎么能做到阿拉伯语的同样壮举?

尝试这个:-

 function HasArabicCharacters(text) { var arregex = /[\u0600-\u06FF]/; alert(arregex.test(text)); } 

阿拉伯字符集的列表

 [\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc] 

Unicode中的阿拉伯文脚本:

Unicode 6.1开始 ,阿拉伯语脚本包含在以下块中:

 Arabic (0600—06FF, 225 characters) Arabic Supplement (0750—077F, 48 characters) Arabic Extended-A (08A0—08FF, 39 characters) Arabic Presentation Forms-A (FB50—FDFF, 608 characters) Arabic Presentation Forms-B (FE70—FEFF, 140 characters) Rumi Numeral Symbols (10E60—10E7F, 31 characters) Arabic Mathematical Alphabetic Symbols (1EE00—1EEFF, 143 characters) 

内容取自wikipedia – Unicode中的阿拉伯语脚本

我build议这样做:

 \p{InArabic} 

你可以使用函数来翻译Aracbic字符列表,它很简单。

像:

 function (regexStr) { regexStr = replace(regexStr,"ۿ","\u0600"); regexStr = replace(regexStr,"؀","\u06FF"); return regexStr; } 

或者在另一个想法replace[alf]和[雅]来正确地看到你的文字方向

 var regexStr = "/[[alf]-[ya]]/"; function (regexStr) { regexStr = replace(regexStr,"[alf]","\u0600"); regexStr = replace(regexStr,"[ya]","\u06FF"); return regexStr; }