将阿拉伯语单词与以“#”结尾的正则表达式匹配?

时间:2013-05-17 15:33:08

标签: regex

如果有'#'我会用它进行匹配。在单词的开头

/(?!\b)(#\S+\b)/ 

在#'#'

之后需要一切

但是现在我需要找到以"#"结尾的所有阿拉伯语单词。或者为了开始我怎样才能找到所有单词以"#"?

结尾

我尝试\b[A-Za-z]*#\b但不工作:(

2 个答案:

答案 0 :(得分:6)

[A-Za-z]将与ASCII字母匹配。您需要指定阿拉伯语unicode范围以匹配阿拉伯语单词

你可以试试这个

\b[\u0600—\u06FF]+#(?=\s|$)

This是阿拉伯语unicode范围的一个很好的参考。


[\u0600—\u06FF]涵盖完整的阿拉伯语unicode范围,包括数字,数字符号......

如果您想匹配阿拉伯字母,请仅使用此范围

[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FF]

答案 1 :(得分:1)

要匹配阿拉伯语单词,您应该只使用阿拉伯语字母。

\u0621-\u063A\u0641-\u064A\u0660-\u0669\s

你的正则表达式是:

\b[\u0621-\u063A\u0641-\u064A\u0660-\u0669\s]*#\b