正規表現で /^[0-9]+$/ と /^[0-9]/ の違いはなんですか?

回答の条件
  • 1人2回まで
  • 登録:2006/06/09 22:53:37
  • 終了:2006/06/11 11:38:31

ベストアンサー

id:ootatmt No.3

ootatmt回答回数1307ベストアンサー獲得回数652006/06/09 23:48:00

ポイント35pt

http://www.komonet.ne.jp/~perl/chap7.htm

もうちょっと詳しく、


どちらも ^[0-9] までは同じですね。

^ は、先頭を表します。

[0-9] は 0~9 までの文字ということで、つまり数字です。

つまり^[0-9]で、文字の先頭が数字のものにマッチします。


/^[0-9]/

こちらは、これだけですので文字の先頭が数字であるもの全てにマッチします。

数字1文字のものや、先頭が数字でその後に任意の文字が続くものにマッチするということです。


/^[0-9]+$/

こちらは、+$ がついていますね。

+ はその前にあるもの(この場合は数字)が1回以上繰り返す場合にマッチします。

つまり数字が続くものですね。

$ は文字列の終わりにマッチします。

+$ で、その前にあるものが終わりまで繰り返すことを意味します。

全体としては数字で始まり、2文字目も数字で、最後まで数字ということです。

つまり2文字以上の数字だけの文字列にマッチするということになります。

id:rizo

非常に丁寧な補足ありがとうございます。

助かります!

2006/06/11 11:26:41

その他の回答(3件)

id:ootatmt No.1

ootatmt回答回数1307ベストアンサー獲得回数652006/06/09 23:04:37

ポイント24pt

/^[0-9]+$/

これは、0~9の数字が初めにあって、それが終わりまで($)繰り返される(+)場合です。

つまり全部が数字って言うことです。


/^[0-9]/

これは、先頭が数字であればマッチします。それに続く文字は何であってもかまいません。

id:rizo

回答ありがとうございます。

違いがよくわかりました。

2006/06/11 11:26:27
id:bsavas No.2

bsavas回答回数13ベストアンサー獲得回数02006/06/09 23:08:09

ポイント15pt

/^[0-9]+$/ の方が文字列の中で先頭の方に一致するものを意味します.

id:rizo

回答ありがとうございます

2006/06/11 11:26:34
id:ootatmt No.3

ootatmt回答回数1307ベストアンサー獲得回数652006/06/09 23:48:00ここでベストアンサー

ポイント35pt

http://www.komonet.ne.jp/~perl/chap7.htm

もうちょっと詳しく、


どちらも ^[0-9] までは同じですね。

^ は、先頭を表します。

[0-9] は 0~9 までの文字ということで、つまり数字です。

つまり^[0-9]で、文字の先頭が数字のものにマッチします。


/^[0-9]/

こちらは、これだけですので文字の先頭が数字であるもの全てにマッチします。

数字1文字のものや、先頭が数字でその後に任意の文字が続くものにマッチするということです。


/^[0-9]+$/

こちらは、+$ がついていますね。

+ はその前にあるもの(この場合は数字)が1回以上繰り返す場合にマッチします。

つまり数字が続くものですね。

$ は文字列の終わりにマッチします。

+$ で、その前にあるものが終わりまで繰り返すことを意味します。

全体としては数字で始まり、2文字目も数字で、最後まで数字ということです。

つまり2文字以上の数字だけの文字列にマッチするということになります。

id:rizo

非常に丁寧な補足ありがとうございます。

助かります!

2006/06/11 11:26:41
id:birdie-brain No.4

birdie-brain回答回数40ベストアンサー獲得回数42006/06/10 13:09:17

ポイント22pt

/^[0-9]+$/

行頭(^)から数字([0-9])が1文字以上繰り返し(+)行末($)に至る

つまり、1文字以上の数字のみで構成された行にマッチします。

/^[0-9]/

行頭(^)が数字([0-9])

つまり、先頭が数字で始まる行にマッチします。

id:rizo

回答ありがとうございます。

よく理解できました。

2006/06/11 11:37:26

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません