• ベストアンサー

正規表現について

正規表現について 正規表現について昨日から取り組み始めたのですが、ごく簡単な説明ですでに四苦八苦しております。 下記HPを参考に始めたのですが、「^http://.+/$」の場合の「.+」の部分がよくわからずにおります。 http://www.scollabo.com/banban/php/php_15.html とりあえず、 「^http://」は、http:// から始まる場合 「/$」は / が末尾に来る場合 という理解なのですが、この私の理解で間違いはないでしょうか? 「.+」では、「 . 」は任意の1文字と説明があるのですが、ここでの 任意 とはどの部分をさす事なのかもよくわからないでいます。(/でしょうか?) リンク先HPでも本来十分解説がされているのかもしれませんが、「.+」について少しご解説をいただけないでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

正規表現において、 「.」は任意の文字 という意味。 つまり、なんでも良いのです ^​http://.+/$​ を解釈すると http:// で始まり 何か文字が1文字以上入っていて、 / で終わるもの という意味です つまり、この世の中のすべてのURLに適合します >「.+」では、「 . 」は任意の1文字と説明があるのですが、ここでの 任意 とはどの部分をさす事なのかも~略 どの部分ではなく、文字すべて という意味です http://あいうえお/ http://かきくけこ/ http://yahoo/ などにヒットすることになります。

goo2408
質問者

お礼

書き込みありがとうございます。 ようやく理解が行きました。 大変助かりました。 ありがとうございました。

その他の回答 (1)

  • chanfi
  • ベストアンサー率37% (10/27)
回答No.2

PHPはやったことが無いのですが、参考サイトを見た感じ、 「^http://」が「http://」から始まる ではなく、 「h」が最初の文字列という意味で「^」が使われていると思います。 同じように、「/$」も、 「/」が最後の文字列という意味だと思います。 なので、「^~~~~$」ということで、 「~~~~」という文字列を意味しているかと思います。 「^」が「ここから文字列」、 「$」が「ここまで文字列」って感じですかね。 で、「.+」についてですが、 サイトを見た感じですと、「改行以外の文字列ならなんでもいい」みたいな意味だと思います。 「.」が任意の1文字で、「+」が1回以上の連続する文字ということなので、 「...」、「........」、「................」とかの事全てに対して言っているのだと思います。 ちなみに、「任意」というのは「改行以外の文字ならなんでもいい」ということなので、 「...」は3文字の文字列なら何でもいい 「.....」は5文字の文字列なら何でもいい みたいな事だと思います。 なので、「^http://.+$」というのは、 「http://」+「任意の文字列」という文字列をあらわしているのだと思います。 もし間違ってたらごめんなさい^^;

goo2408
質問者

お礼

書き込みありがとうございます。 参考にさせていただきました。 ありがとうございました。