2014-09-25 41 views
1

我需要匹配任何字母(如MS Office Word查找特殊字符^ $功能)與正則表達式。 我試過[a-zA-Z],但不匹配任何Unicode字母,如重音字母或ä,ö,ü,ß。 我也試過[a-zA-ZäöüßÄÖÜ],但是有太多的字母。 有沒有任何正則表達式來匹配所有這些字母?匹配任何unicode字母與java正則表達式

+0

有你沒有嘗試'\ w'(字字符),具體原因是什麼? – jmarkmurphy 2017-10-25 19:27:15

回答

2

\\p{L}正則表達式將匹配來自任何語言的任何種類的信件。

DEMO

2

在Java中使用匹配任何Unicode字母:

\\p{L} 
2

您可以使用\\p{L}匹配任何字母,統一納入。

要進行微調匹配,可以參考filefront的文檔,並將其與Java模式here中記錄的Unicode功能組合使用。

快速例如

String input = "ZäöüßÄÖÜß您好"; 
System.out.println(input.matches(String.format("\\p{L}{%d}", input.length()))); 

輸出

true 
1

看來你想匹配不任何字母(如阿拉伯語字符),但拉丁字符:

\p{IsLatin}+ 

使用您的字符:

System.out.println("ZäöüßÄÖÜ".matches("\\p{IsLatin}+")); // true 
相關問題