2011-10-30 16 views
0

これはどういう意味ですか? *、^文字列は文字または数字で始めなければならないことを意味し、ゼロ以上の出現箇所を意味するが、どのように*ミックスと$ください:ここでこの正規表現のコンポーネントを理解する助けを

^[a-zA-Z0-9]*$ 

は、私がこれまで知っているのですか?その最後の部分は私を混乱させる。

+0

'^'は文字列の先頭を意味するので、 '$'が意味することは間違いなく知っていますか? – BoltClock

+0

は、文字列($)の終わりまでゼロ個以上の文字または数字が一致することを意味します。/^ $ /は空の文字列( '')と一致します。 –

答えて

1

*と$は混用しないでください。 *はあなたが指摘している量子であり、あなたのケースの前のグループ/文字に文字クラスを適用しました。

また、^は文字列の先頭を意味します。本質的にはキャラクターではない場所。彼らはアンカーと呼ばれています。それぞれ$は文字列の最後を意味します。

最後に、正規表現が書かれていても、大文字と小文字を区別せずに、数字とa-zの乱数からなる文字列は何も一致しません。

+0

と$は文字列の末尾を区切ります –

2

^は式の開始を示し、$は終了を示します。したがって、0文字以上(大文字または小文字)または数字で構成された文字列を意味します。

5

は、この正規表現には3つのコンポーネントがあります。

  1. ^は、文字列の先頭にマッチします。
  2. [a-zA-Z0-9]*は、0文字以上の文字と一致します。各文字は文字または数字です。
  3. $は、文字列の最後に一致します。

要約すると、正規表現は、完全に文字と数字で構成されるすべての文字列(空の文字も含む)に一致します。

+0

(配送。*)はどうですか? 「配送」に続いて「\ n」以外の文字が続くことを意味していますか、それらの0以上を持つことができますように感謝しますか?つまり、*が適用されるのは何ですか? – user1007632

+0

@ user1007632:この例では、ドットに適用されます。 – NPE

0

意味: (ラテン文字または数字のみ)0回以上の行。

0

*は、[a-zA-Z0-9]に適用する必要があります。 $は、行の終わりまたは入力の終わりを意味する必要があります。したがって、本質的に文字列全体は、小文字と大文字と数字で構成する必要があります。

関連する問題