Создайте самое короткое регулярное выражение, которое будет примерно соответствовать URL в тексте при запуске в JavaScript
Пример:
"some text exampley.com".match(/your regular expression goes here/);
Регулярное выражение должно
- захватить все действительные URL-адреса, которые для http и https.
- не беспокойтесь о несоответствии для строк поиска URL, которые на самом деле не являются действительными URL-адресами, такими как
super.awesome/cool
- быть действительным при запуске в качестве регулярного выражения JavaScript
Критерии испытаний:
Совпадение:
- http://example.com
- http://example.com/
- http://example.com/super
- https://example.com/super
- example.com/super
- example.com
- example.com/su-per_duper/?add=yes&subtract=no
- example.com/archive/index.html
- twitter.com/#!/reply
- example.com/234ret2398oent/234nth
- codegolf.stackexchange.com/questions/464
- crazy.wow.really.example.com/?cat=nth%3E
- example-example.com
- example1.com
Не соответствует:
- пример
- очень круто
- Доброе утро
- Я могу
- Здравствуйте.
Вот тест, который может помочь немного прояснить http://jsfiddle.net/MikeGrace/gsJyr/
Я прошу прощения за отсутствие ясности, я не понял, насколько ужасно соответствовали URL.
\w
для всего Вы ожидаете обратных ссылок для различных компонентов URL?
/:/
в качестве регулярного выражения и сопоставлять допустимые URI, и не соответствовать всем вашим примерам в списке »Не совпадает«. Пока вы идете по этому маршруту, это просто вопрос: каково самое короткое регулярное выражение, которое не будет соответствовать ни одной из строк примера, но все же перехватит все URI.