2016-06-11 53 views
1

我做了一個正則表達式尋找一個正則表達式匹配々

[\p{IsHiragana}一-龯{}]+ 

匹配的字符串包含一個或多個日文漢字,平假名和大括號的字符串。到目前爲止這麼好,但當我知道我的正則表達式與輸入中出現的々不匹配時,我感到很驚訝。請參閱演示here

如何解決這個問題?

+0

你沒有提及你正在使用的工具(我從來沒有見過'{IsHiragana}'作爲一個字符類),但我的猜測是你有一個_encoding_問題,這意味着你的漢字字符沒有被正確處理。您應該使用符合UTF-8的正則表達式。 –

+2

此信件不在「Big Kahuna」正則表達式範圍之內。 '一'='4E00'和'龯'='9FAF'。 '々'是'3005'。請檢查您的要求。 –

+0

建議:也許你可以在你的正則表達式中加上'\ p {Lm}'?嘗試'[\ p {IsHiragana}一 - 龯{} \ p {Lm}] +'。 –

回答

2

該信件位於「Big Kahuna」正規表達式範圍之外。 = 4E00 = 9FAF3005

您可以將\p{Lm}添加到您的正則表達式中。使用

 [\p{IsHiragana}一-龯{}\p{Lm}]+ 

您提到的字符屬於修飾符字母Unicode類別,因此您需要將該類別類添加到字符類。