Программирование упростило работу со структурированными и неструктурированными текстовыми данными. Такие инструменты, как регулярные выражения и внешние библиотеки, значительно упрощают эти задачи.
Вы можете использовать большинство языков, включая Python и JavaScript, для проверки URL-адресов с помощью регулярного выражения. Этот пример регулярного выражения не идеален, но вы можете использовать его для проверки URL-адресов для простых случаев использования.
Регулярное выражение для проверки URL
Регулярное выражение для проверки URL-адреса, представленное в этой статье, не идеально. Может быть несколько примеров допустимых URL-адресов, которые могут не пройти эту проверку регулярного выражения. Сюда входят URL-адреса, включающие IP-адреса, символы, отличные от ASCII, и такие протоколы, как FTP. Следующее регулярное выражение проверяет только наиболее распространенные URL-адреса.
Регулярное выражение будет считать URL-адрес допустимым, если он удовлетворяет следующим условиям:
- Строка должна начинаться либо с http или https с последующим ://.
- Суммарная длина поддомена и домена должна быть от 2 до 256. Он должен содержать только буквенно-цифровые символы и/или специальные символы.
- TLD (домен верхнего уровня) должен содержать только буквенные символы и иметь длину от двух до шести символов.
- Конец строки 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-адреса и многое другое.