2010-12-15 7 views
6

英語の単語を一致させるには、パターン[a-zA-Z]+を使用します。どの言語の単語にもマッチするJava正規表現を作成するには

どの言語の単語にも一致する正規表現を書く方法はありますか?たとえその単語にščžé...のような文字が含まれていてもそうです。私は可能な文字が世界に存在するかどうかわからないので、純粋な[a-zA-Zščžé]+が十分であるとは思わない...

この表現を書く良い方法はありますか?

答えて

11

Pattern javadocによると、\p{L}+は、Unicode文字のシーケンス(つまり、ha UnicodeではカテゴリL)。おそらく可能な限り広い定義ですが、unicode categories listを見て、他のカテゴリを追加するかどうかを決定することもできます(たとえば、「番号レター」と呼ばれるものがあります)。

0

通常あなたには、いくつかのUnicode文字だからあなたは、Unicode文字コードを見て、あなたが持っているものは何でも特殊文字の範囲を追加する必要が

[a-zA-Z\u0000-\u1111] 

または

[a-zA-Zš-é] 

を範囲を使用するでしょうターゲット言語

+0

パロの心配によると、それはあまり正確ではありません。「世界にはどんなキャラクターが存在するのかわかりません。彼はまだいくつかの文字を失っているだろう –

+0

@Lukas:あなたが目標言語を持っているときだけ有効な良い点。プラスマイケルの答えが良いです;-) – RageZ

+0

ええ、私は '\ p {L} +'について知りませんでした。何かを学んだ! :) –

関連する問題