«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу использовать регулярные выражения для обнаружения URL-адресов, включая голые URL-адреса?

Как я могу использовать регулярные выражения для обнаружения URL-адресов, включая голые URL-адреса?

Опубликовано 20 декабря 2024 г.
Просматривать:579

How Can I Use Regular Expressions to Detect URLs, Including Naked URLs?

Обнаружение URL-адресов с помощью регулярных выражений

Ваш текущий код не соответствует голым URL-адресам, у которых отсутствует префикс «http://». Чтобы решить эту проблему, рассмотрите возможность использования комплексного регулярного выражения:

https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)

Это расширенное выражение включает в себя следующие функции:

  • Оно гарантирует, что URL-адреса начинаются с «http://», « https://», или ничего.
  • Он позволяет использовать субдомены, включая «(www.)» в качестве необязательного префикса.
  • Он поддерживает доменные имена до 256 символов и домены верхнего уровня до 6 символов.

Для тех, кому не требуется протокол HTTP в своих совпадениях, доступно альтернативное выражение:

[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)

Чтобы продемонстрировать функциональность этих выражений, воспользуйтесь инструментами онлайн-тестирования по адресу http://regexr.com?37i6s (для первого выражения) или http://regexr.com/3e6m0 (для менее ограничительного выражения).

Вот пример реализации JavaScript с использованием более полного регулярного выражения:

const expression = /[-a-zA-Z0-9@:%._\ ~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\ .~#?&//=]*)/gi;
const regex = new RegExp(expression);
const t = 'www.google.com';

if (t.match(regex)) {
  alert("Successful match");
} else {
  alert("No match");
}
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3