2010-03-06 26 views

回答

1

使用PCRE這將是\w,一個「單詞」字符。如果配置正確,它也會接受Unicode。

+1

'\ w'不是一個邊界,而是單詞字符的字符類。 – Gumbo 2010-03-06 11:40:04

+0

...和'\ b'是單詞邊界。 – kennytm 2010-03-06 11:53:55

+0

的確,我修改了我原來的答案。我的解釋是不正確的。 – Wolph 2010-03-06 14:35:04

1

它有所不同。一些語言具有「Unicode」標誌,其延伸\d,\w等。一些支持範圍內的等價類,例如, [[=e=]]匹配e,é,ê等。語言或庫的正則表達式文檔將解釋可用的選項。

13

由於您特別要求Unicode,因此\p{L}是Unicode字母的快捷方式。不過,並非所有的正則表達式都支持這種語法。例如,.NET,Perl,Java和JGSoft正則表達式引擎,Python不會。

因此,例如\b\p{L}+\b將匹配Unicode字符的整個單詞。

+1

這將是_great_,如果它在JavaScript的替代正則表達式中工作,但它似乎並不適用於我(至少在Chrome中)。有任何想法嗎? – aaaidan 2012-06-20 23:50:06

+1

@aaaidan:由於JavaScript內置的正則表達式引擎非常有限,並且不提供類似'\ p {L}'的抽象。您可以始終從所有Unicode字母代碼點(恐怖!)創建自己的字符類,或者使用帶有Unicode插件的Steve Levithan的XRegExp庫:http://blog.stevenlevithan.com/archives/xregexp-unicode-plugin – 2012-06-21 06:24:07

+0

非常好。乾杯! – aaaidan 2012-06-22 07:28:31

0

在許多語言中,你可以簡單地輸入Unicode的符號轉換成字符類:[a-zäöüß]

+2

當他想匹配所有**字母時,這並沒有什麼幫助。 – 2010-03-06 14:42:10

相關問題