2013-05-17 85 views
2

我用這個字阿拉伯詞與以「#」結尾的正則表達式匹配?

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

需要後「#」一切事物的開始,如果有匹配它的「#」。

但現在我需要找到以「#」結尾的所有阿拉伯詞或開始如何找到所有以「#」結尾的單詞?

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

+0

[A-ZA-Z]將不會匹配任何阿拉伯字母。 –

+0

語言是什麼? – nhahtdh

+1

@nhahtdh呃...阿拉伯語... – Bojangles

回答

6

[A-Za-z]將匹配ASCII alphabets..You需要指定的unicode阿拉伯範圍來匹配阿拉伯語詞彙

你可以試試這個

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

This對阿拉伯語unicode範圍來說是一個不錯的參考..


[\u0600—\u06FF]覆蓋了包括數字,數字符號完整的Unicode阿拉伯範圍...

如果你想匹配阿拉伯字母只能使用此範圍

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

謝謝你......但是我還是有問題......當我爲我的腦海裏寫'阿拉伯語'時,'#'是在單詞的結尾,但實際上是對於算法。嗨在單詞的開頭。因爲'右到左'的扭動規則...穆老功能不會工作/(?!\ b)(#\ S + \ b)/ – despotbg

+0

我需要確定'وةىةى#'從'بسشبسشبسشبسش#وةىةىوةىسش '它的技巧就是編寫:( – despotbg

+0

現在我只用'#+ \ S + /',從右到左打字時很難識別空格,我做了哈希標記,我需要確定是否有人輸入了阿拉伯語 – despotbg

1

要匹配阿拉伯字,你應該只用阿拉伯字母。

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

你的正則表達式是:

\b[\u0621-\u063A\u0641-\u064A\u0660-\u0669\s]*#\b 
相關問題