正規表現2(例題)
これはどういう意味か。
if ($str =~ /^(.+)@(.+)$/)
/パターン/
という形なので、中のものにマッチするかどうか調べています。^(.+)
なんですかね?これ。複数の文字にマッチ
^ 文字列(行)の最初にマッチする $ 文字列(行)の最後にマッチする *(アスタリスク) 0回以上にマッチ? 0、1回にマッチ {m} ちょうどm回にマッチ {m,} m回以上にマッチ {m,n} m回以上n回以下にマッチ
- 1回以上にマッチ
ということなので、「^(.+)」は、「文字列の最初に、.(ドット)が1回以上でマッチ」
という意味になります。
となると、「(.+)$」これは、「文字列の最後に、.(ドット)が1回以上でマッチ」
ということになりますね。
すると、「/^(.+)@(.+)$/」これは、
「最初にドットが来て、@マークを挟み、最後がドットで終わる」
という意味になります。携帯用メールアドレスのチェックですねw