フランス語とロシア語のキリル文字を正規表現と一致させるにはどうすればよいですか? 私はアルファベット文字だけをやりたいのですが、数字や特殊文字は使いません。今、私は持っています
[あざーず]
フランス語とロシア語のキリル文字を正規表現と一致させるにはどうすればよいですか? 私はアルファベット文字だけをやりたいのですが、数字や特殊文字は使いません。今、私は持っています
[あざーず]
regex
フレーバーがUnicode ブロック( ) をサポートしている場合、キリル文字を次のものと[\p{IsCyrillic}]
一致させることができます。
[\p{IsCyrillic}] or [\p{Cyrillic}]
それ以外の場合は、次を使用してみてください:
[U+0400–U+04FF]
使用する場合PHP
:
[\x{0400}-\x{04FF}]
説明:
[\p{IsCyrillic}]
Match a character from the Unicode block “Cyrillic” (U+0400–U+04FF) «[\p{IsCyrillic}]»
ノート:
の Unicode 文字リストと数値 HTML エンティティ[U+0400–U+04FF]
。
正規表現のフレーバーによって異なります。Unicode 文字クラス (たとえば .NET など) をサポートしている場合は、\p{L}
(任意の文字セットの) 文字に一致します。
ロシア語のキリル文字のみを照合するには、次を使用します。
[\u0401\u0451\u0410-\u044f]
これは次と同等です:
[ЁёА-я]
ラテン語でА
はなく、キリル文字です。(同じように見えてもコードが違う)
\p{IsCyrillic}
、\p{Cyrillic}
、他の人が提案したものは、ロシア語だけでなく、キリル文字のすべてのバリアント[\u0400-\u04FF]
と一致します
最新の PHP バージョンを使用している場合は、次のようにします。
preg_match("/^[\p{L}]+$/u");
Unicode サポートのためのuフラグを忘れないでください!
現在のロケールでは、さまざまな正規表現の方言[:alpha:]
が任意の英数字に使用されます。(たとえば、それを文字クラスに入れる必要があるかもしれません[[:alpha:]]
。)
Java でキリル文字とスペースを一致させるには、次のパターンを使用します
^[\p{InCyrillic}\s]+$