http://www.komonet.ne.jp/~perl/chap7.htm
もうちょっと詳しく、
どちらも ^[0-9] までは同じですね。
^ は、先頭を表します。
[0-9] は 0~9 までの文字ということで、つまり数字です。
つまり^[0-9]で、文字の先頭が数字のものにマッチします。
/^[0-9]/
こちらは、これだけですので文字の先頭が数字であるもの全てにマッチします。
数字1文字のものや、先頭が数字でその後に任意の文字が続くものにマッチするということです。
/^[0-9]+$/
こちらは、+$ がついていますね。
+ はその前にあるもの(この場合は数字)が1回以上繰り返す場合にマッチします。
つまり数字が続くものですね。
$ は文字列の終わりにマッチします。
+$ で、その前にあるものが終わりまで繰り返すことを意味します。
全体としては数字で始まり、2文字目も数字で、最後まで数字ということです。
つまり2文字以上の数字だけの文字列にマッチするということになります。
/^[0-9]+$/
これは、0~9の数字が初めにあって、それが終わりまで($)繰り返される(+)場合です。
つまり全部が数字って言うことです。
/^[0-9]/
これは、先頭が数字であればマッチします。それに続く文字は何であってもかまいません。
回答ありがとうございます。
違いがよくわかりました。
http://www.komonet.ne.jp/~perl/chap7.htm
もうちょっと詳しく、
どちらも ^[0-9] までは同じですね。
^ は、先頭を表します。
[0-9] は 0~9 までの文字ということで、つまり数字です。
つまり^[0-9]で、文字の先頭が数字のものにマッチします。
/^[0-9]/
こちらは、これだけですので文字の先頭が数字であるもの全てにマッチします。
数字1文字のものや、先頭が数字でその後に任意の文字が続くものにマッチするということです。
/^[0-9]+$/
こちらは、+$ がついていますね。
+ はその前にあるもの(この場合は数字)が1回以上繰り返す場合にマッチします。
つまり数字が続くものですね。
$ は文字列の終わりにマッチします。
+$ で、その前にあるものが終わりまで繰り返すことを意味します。
全体としては数字で始まり、2文字目も数字で、最後まで数字ということです。
つまり2文字以上の数字だけの文字列にマッチするということになります。
非常に丁寧な補足ありがとうございます。
助かります!
/^[0-9]+$/
行頭(^)から数字([0-9])が1文字以上繰り返し(+)行末($)に至る
つまり、1文字以上の数字のみで構成された行にマッチします。
/^[0-9]/
行頭(^)が数字([0-9])
つまり、先頭が数字で始まる行にマッチします。
回答ありがとうございます。
よく理解できました。
非常に丁寧な補足ありがとうございます。
助かります!