Программирование упростило работу со структурированными и неструктурированными текстовыми данными. Такие инструменты, как регулярные выражения и внешние библиотеки, значительно упрощают эти задачи.

Вы можете использовать большинство языков, включая Python и JavaScript, для проверки URL-адресов с помощью регулярного выражения. Этот пример регулярного выражения не идеален, но вы можете использовать его для проверки URL-адресов для простых случаев использования.

Регулярное выражение для проверки URL

Регулярное выражение для проверки URL-адреса, представленное в этой статье, не идеально. Может быть несколько примеров допустимых URL-адресов, которые могут не пройти эту проверку регулярного выражения. Сюда входят URL-адреса, включающие IP-адреса, символы, отличные от ASCII, и такие протоколы, как FTP. Следующее регулярное выражение проверяет только наиболее распространенные URL-адреса.

Регулярное выражение будет считать URL-адрес допустимым, если он удовлетворяет следующим условиям:

  1. Строка должна начинаться либо с http или https с последующим ://.
  2. instagram viewer
  3. Суммарная длина поддомена и домена должна быть от 2 до 256. Он должен содержать только буквенно-цифровые символы и/или специальные символы.
  4. TLD (домен верхнего уровня) должен содержать только буквенные символы и иметь длину от двух до шести символов.
  5. Конец строки URL может содержать буквенно-цифровые символы и/или специальные символы. И это может повториться ноль или более раз.

Вы можете проверить URL-адрес в JavaScript, используя следующее регулярное выражение:

^(http(s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$

Точно так же вы можете использовать следующее регулярное выражение для проверки URL-адреса в Python:

^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$

Где:

  • (http|https)://) гарантирует, что строка начинается с http или https, за которым следует //.
  • [-a-zA-Z0-9@:%._\\+~#?&//=] обозначает буквенно-цифровые символы и/или специальные символы. Первый экземпляр этого набора представляет собой набор символов, которые разрешены в части поддомена и домена. В то время как второй экземпляр этого набора представляет собой набор символов, которые разрешены в строке запроса или части подкаталога.
  • {2,256} представляет индикатор появления от 2 до 256 раз (оба включительно). Это означает, что общая длина поддомена и домена должна быть от двух до 256.
  • \. представляет собой точечный символ.
  • [а-я] {2,6} означает любые строчные буквы от a до z длиной от двух до шести. Это представляет собой набор символов, разрешенных в части домена верхнего уровня.
  • представляет собой границу слова, то есть начало слова или конец слова.
  • * — это оператор повторения, указывающий ноль или более копий строки запроса, параметров или подкаталогов.
  • ^ и $ указать начало и конец строки соответственно.

Если вам не нравится приведенное выше выражение, проверьте руководство для начинающих по регулярным выражениям первый. Регулярные выражения требуют некоторого времени, чтобы привыкнуть к ним. Изучение некоторых примеров, таких как проверка данных учетной записи пользователя с использованием регулярных выражений должно помочь.

Приведенное выше регулярное выражение удовлетворяет следующим типам URL-адресов:

  • https://www.something.com/
  • http://www.something.com/
  • https://www.something.edu.co.in
  • http://www.url-with-path.com/path
  • https://www.url-with-querystring.com/?url=has-querystring
  • http://url-without-www-subdomain.com/
  • https://mail.google.com

Использование регулярного выражения в программе

Код, используемый в этом проекте, доступен в Репозиторий GitHub и вы можете использовать его бесплатно по лицензии MIT.

Это подход Python к проверке URL:

Импортировать ре

дефпроверитьURL(адрес):
регулярное выражение = "^((http|https)://)[-a-zA-Z0-9@:%._\\+~#?&//=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%._\\+~#?&//=]*)$"
r = перекомпилировать (регулярное выражение)

если (ре.поиск(р, URL)):
Распечатать("Действительный")
еще:
Распечатать("Недействительно")

URL1 = "https://www.linkedin.com/"
проверитьURL(url1)
URL2 = "http://apple"
проверитьURL(url2)
URL3 = "айвегфуйкегф"
проверитьURL(url3)
URL4 = "https://w"
проверитьURL(url4)

Этот код использует Python перекомпилировать() метод для компиляции шаблона регулярного выражения. Этот метод принимает шаблон регулярного выражения в качестве строкового параметра и возвращает объект шаблона регулярного выражения. Этот объект шаблона регулярного выражения далее используется для поиска вхождений шаблона регулярного выражения внутри целевой строки с помощью исследовать() метод.

Если он находит хотя бы одно совпадение, исследовать() метод возвращает первое совпадение. Обратите внимание, что если вы хотите найти все совпадения с шаблоном из целевой строки, вам нужно использовать re.findall() метод.

Запуск приведенного выше кода подтвердит, что первый URL-адрес действителен, а остальные — нет.

Точно так же вы можете проверить URL-адрес в JavaScript, используя следующий код:

функцияпроверитьURL(URL) {
если(/^(http(s):\/\/.)[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/g.test (адрес)) {
console.log('Действительный');
} еще {
console.log('Недействительно');
}
}

проверить URL("https://www.linkedin.com/");
проверить URL("http://apple");
проверить URL("айвегфуйкегф");
проверить URL("https://w");

Опять же, запуск этого кода подтвердит, что первый URL-адрес действителен, а остальные недействительны. Он использует JavaScript соответствовать() метод для сопоставления целевой строки с шаблоном регулярного выражения.

Проверка важных данных с помощью регулярных выражений

Вы можете использовать регулярные выражения для поиска, сопоставления или анализа текста. Они также используются для обработки естественного языка, сопоставления с образцом и лексического анализа.

Вы можете использовать этот мощный инструмент для проверки важных типов данных, таких как номера кредитных карт, данные учетной записи пользователя, IP-адреса и многое другое.