67

フランス語とロシア語のキリル文字を正規表現と一致させるにはどうすればよいですか? 私はアルファベット文字だけをやりたいのですが、数字や特殊文字は使いません。今、私は持っています

[あざーず]

4

9 に答える 9

52

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]

于 2011-06-14T10:50:03.700 に答える
39

正規表現のフレーバーによって異なります。Unicode 文字クラス (たとえば .NET など) をサポートしている場合は、\p{L}(任意の文字セットの) 文字に一致します。

于 2009-11-11T19:57:12.563 に答える
17

ロシア語のキリル文字のみを照合するには、次を使用します。

[\u0401\u0451\u0410-\u044f]

これは次と同等です:

[ЁёА-я]

ラテン語でАはなく、キリル文字です。(同じように見えてもコードが違う)

\p{IsCyrillic}\p{Cyrillic}、他の人が提案したものは、ロシア語だけでなく、キリル文字のすべてのバリアント[\u0400-\u04FF]と一致します

于 2018-09-10T11:48:04.667 に答える
10

最新の PHP バージョンを使用している場合は、次のようにします。

preg_match("/^[\p{L}]+$/u");

Unicode サポートのためのuフラグを忘れないでください!

于 2014-07-29T13:31:50.470 に答える
5

現在のロケールでは、さまざまな正規表現の方言[:alpha:]が任意の英数字に使用されます。(たとえば、それを文字クラスに入れる必要があるかもしれません[[:alpha:]]。)

于 2009-11-11T17:22:04.687 に答える
-2

Java でキリル文字とスペースを一致させるには、次のパターンを使用します

^[\p{InCyrillic}\s]+$
于 2019-08-07T10:00:33.617 に答える