URLを正規表現で表す前に、URLで使えるすべての文字の種類を把握しておく必要がある。 URLの書き方は、RFC 1738 Uniform Resource Locators (URL) 【和訳】に定義されている。これによると、 "http(s)://" 以降に記述できる文字は、英数字(大文字・小文字)と記号類(- _ . ! ~ * ' ( ) ; / ? : @ & = + $ , % #)であることがわかる。 これを正規表現で表すと、 /https?\:\/\/[\-_\.\!\~\*\'\(\)a-zA-Z0-9\;\/\?\:\@\&\=\+\$\,\%\#]+/i となる。順に説明していこう。 ? 直前1文字の0または1回の繰り返し。 ここでは、httpとhttps の両方にマッチする。 [...] 文字クラス。 この中に記述された文字の並びのうちの1文字を表す。 - 文字の範