web-dev-qa-db-ja.com

文字のみを照合するための正規表現

文字だけにマッチする正規表現を書くにはどうすればいいですか?

312
Nike

文字セットを使用します。[a-zA-Z]は、AからZまでの1文字と小文字および大文字で一致します。 [a-zA-Z]+は1つ以上の文字に一致し、^[a-zA-Z]+$は1つ以上の文字のみからなる文字列にのみ一致します(^および$はそれぞれ文字列の始めと終わりを示します)。

A〜Z以外の他の文字と一致させたい場合は、それらを文字セットに追加することもできます:[a-zA-ZäöüßÄÖÜ]。または、 Unicode文字プロパティ class \p{L}のように、文字であるUnicode文字を記述する事前定義済みの文字クラスを使用します。

336
Gumbo

ラテン語以外のアルファベットに興味がある場合、\p{L}はUnicode文字に一致します。

162
RobV

あなたの "文字"の意味によりますが:

[A-Za-z] - すべての文字 (大文字と小文字)

[^0-9] - 数字以外のすべての文字

41
KristofMols

利用可能な最も近いオプションは

[\u\l]+

これは大文字と小文字のシーケンスに一致します。ただし、すべてのエディタ/言語でサポートされているわけではないので、おそらく使用するほうが安全です

[a-zA-Z]+

他のユーザーが提案しているように

28
blue_note

あなたが使うだろう

/[a-z]/gi

[] - 与えられた入力の間にある文字をチェックします

a-z ---アルファベット全体をカバー

g -----文字列全体を通してグローバルに

i -----大文字と小文字を取得する

12
Scott

ほとんどの人が "/ ^ [a-zA-Z] $/i"と書いた正規表現は正しくありません。なぜなら、最後に言及したのは /i です。戻ってきます。 /i の代わりに /g を使用してください。これはグローバルであり、開始と終了に ^ $ を追加する必要もありません。

/[a-zA-Z]+/g
  1. [a-z _] + 下のリストにある1文字と一致
  2. 数量化子: + 1回から無制限の間、可能な限り多くの回数、必要に応じて返金する
  3. a-z aとzの間の1文字(大文字と小文字を区別)
  4. A-Z AからZの範囲の単一の文字(大文字と小文字を区別)
  5. g 修飾子:グローバル。すべての試合(最初の試合に戻らない)
12
Yogesh Chauhan

PHPの場合、以下はうまくいくでしょう

'/^[a-zA-Z]+$/'
11
Rohit Dubey
/[a-zA-Z]+/

超簡単な例です。正規表現はオンラインで見つけるのがとても簡単です。

http://www.regular-expressions.info/reference.html

11
Scott Radcliff

Java:

String s= "abcdef";

if(s.matches("[a-zA-Z]+")){
     System.out.println("string only contains letters");
}
8

\w[:alpha:]を使うだけです。それは単語に現れるかもしれないシンボルだけにマッチするエスケープシーケンスです。

6
Agaspher

文字グループを使用する

\D

数字0〜9以外の任意の文字と一致します

^\D+$

例を参照してください ここ

5

任意の文字エンコーディングの任意の文字を意味する場合は、スペース\s、数字\d、およびその他の特殊文字のような非文字を削除することをお勧めします。

[!@#\$%\^&\*\(\)\[\]:;'",\. ...more special chars... ]

または、上記の否定の否定を使用して任意の文字を直接記述します。

\S \D and [^  ..special chars..]

長所:

  • すべての正規表現フレーバーで動作します。
  • 書くのが簡単で、時々多くの時間を節約します。

短所:

  • 長く、時には完璧ではありませんが、文字エンコードも壊れる可能性があります。
3

あなたはこの正規表現を試すことができます:[^\W\d_]または[a-zA-Z]

3
Motlab

パターン=/[a-zA-Z] /

"[a-zA-Z]:#{pattern.match(" mine blossom ")}"を付けてOK

"[a-zA-Z]:#{pattern.match(" 456 ")}"を付けます

"[a-zA-Z]:#{pattern.match(" ")}"を付けます

"[a-zA-Z]:#{pattern.match("#$%^&* ")}"を付けます

"[a-zA-Z]:#{pattern.match("#$%^&* A ")}"を付けてOK

1
Snm Maurya