Соответствие веб-адреса через регулярное выражение
Я хочу сопоставить веб-адрес через регулярное выражение, которое должно захватывать http://www.google.com, а также www.google.com, то есть с и без протокол.
Ответы
Ответ 1
Ну, это зависит от того, что вы хотите захватить ( "FTP"? "/index.htm??), потому что общий захват URI на основе стандарта RFC очень тяжелый, но вы можете начать с:
/^((https?\:\/\/)?([\w\d\-]+\.){2,}([\w\d]{2,})((\/[\w\d\-\.]+)*(\/[\w\d\-]+\.[\w\d]{3,4}(\?.*)?)?)?)$/
Сложный вид?
Ответ 2
Попробуйте RegexLib.
Ответ 3
Прочитайте RFC 3986. Это не так просто, как вы думаете. Работа проще, если у вас есть только небольшой набор URL-адресов для разбора.
Ответ 4
Почему бы не
/google\.com/
?
Он ловит http://www.google.com, www.google.com и даже google.com бесплатно!: -)