1. ホーム
  2. regex

[解決済み] 正規表現です。+$ VS *$ VS なし

2022-02-07 07:03:30

質問事項

正規表現において、以下の違いは何ですか? ^[a-zA-Z]+$^[a-zA-Z]*$ . また、全く含めないことも可能でしょうか。 ^[a-zA-Z]$ または ^[a-zA-Z] .

ネットで調べたら、以下のように書いてありました。 + は直前の文字に1回以上マッチし * は前の文字に0回または1回だけマッチしますが、この文脈でこれが何を意味するのか、まったくわかりません。

どのように解決するのですか?

+ は、1つ以上の * は0以上を意味する

つまり、空の文字列を見つけるには ^[a-zA-Z]*$ には適用されませんが ^[a-zA-Z]+$

^[a-zA-Z]$ は、a-zとA-Zの範囲にある1文字だけを意味します。

a+a , aa , aaa , ..., aaa...aaa など

a* は空文字列です。 a , aa , aaa , ..., aaa...aaa など

^a$ は、あくまでも a

EDIT: あなたはまた ^a?$ の出現回数が0回または1回であることを確認します。 a ということは、空文字列か a