正規表現 | URLかどうか
対象の文字列がURLとなっているかどうかを判別する正規表現パターンを紹介しています。
URLかどうかを判別する正規表現
対象の文字列が、URLかどうかを判別する正規表現パターンです。
http、https、または ftpから構成されるURLのいずれかのプロトコルにマッチングします。
^((http|https):\/\/[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\/[^\s]*)?$
上記正規表現の判定結果は以下のようになります。
| 対象の文字列 | 判定 |
|---|---|
| https://example.com | true |
| https://www.example.com | true |
| http://example.com | true |
| ttps://example.com | false |
| example.com | false |
ドメインを限定してマッチさせる場合
ドメインを限定する場合は、以下のように記述する事が可能です。
この例では、.jp、.comに限定してURLを検出します。
^((http|https):\/\/[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(jp|com)(\/[^\s]*)?$
| 対象の文字列 | 判定 |
|---|---|
| https://example.jp | true |
| https://example.com | true |
| https://example.ru | false |
「https://」が付かないものもURLとしてマッチさせる場合
「https://」などが付かないものもURLとしてマッチさせる場合は以下のように記述します。
^(https?):\/\/[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\/[^\s]*)?
| 対象の文字列 | 判定 |
|---|---|
| https://example.com | true |
| example.com | true |