14

私はこの正規表現を持っています:

if (cadena.matches("^[a-zA-Z ]+$")) return true;

A から Z までの小文字と大文字を受け入れます。スペースも承ります。

しかし、これは英語だけで機能しています。たとえば、カタロニア語では「ç」という文字があります。また、「á」や「à」などの文字もあります。

いくつかのグーグルを行いましたが、これを行う方法が見つかりませんでした。

UTF-8 でフィルタリングできることがわかりましたが、これは実際には文字ではない文字を受け入れます。

どうすればこれを実装できますか?

4

2 に答える 2

26

次の正規表現を使用します。

[\p{L}\s]+

\p{L}Unicode 文字を意味します。

fiddle.re デモ

于 2013-06-07T09:42:43.643 に答える
-2

ドキュメントを見て、クラスを使用します (例: \p{InLATIN_1_SUPPLEMENT})。

于 2013-06-07T09:42:22.960 に答える