Как разработчик Python, мы должны выполнить множество задач, таких как очистка данных из файла или текстов перед обработкой других бизнес-операций.
Например, у вас есть текстовый файл с необработанными данными или текстовая строка, и вам нужно прочитать некоторые конкретные данные, такие как URL-адреса, для выполнения фактического сопоставления с регулярным выражением.
Что такое регулярное выражение и какой модуль используется в Python?
Регулярное выражение - это последовательность специальных символов, которые в основном используются для поиска и замены шаблонов в строке или файле с использованием специального синтаксиса, содержащегося в шаблоне.
Модуль Python re обеспечивает полную поддержку регулярных выражений, подобных Perl, в Python. Модуль re вызывает исключение re.error, если ошибка возникает при компиляции или использовании регулярного выражения.
pandas - это пакет Python, обеспечивающий быстрый, мощный, гибкий и простой в использовании инструмент анализа и обработки данных с открытым исходным кодом, построенный на основе языка программирования Python.
Пример -
# Программа Python для извлечения URL-адресов из строки с помощью регулярного выражения.
# Импортирующий модуль, необходимый для регулярных выражений
импорт повторно
импортировать панд как pd
# Пример строки
text = Чтобы узнать больше, подпишитесь на нас -« http://www.sql-datatools.com . Чтобы узнать больше, посетите наш канал YouTube по адресу - http: // www.youtube.com/c/Sql-datatools Чтобы узнать больше, посетите нашу учетную запись Instagram по адресу - https://www.instagram.com/asp.mukesh/ . Чтобы узнать больше, посетите нашу учетную запись twitter по адресу - Https://twitter.com/macxima Чтобы узнать больше, посетите нашу учетную запись Medium по адресу - https://medium.com/@macxima »
печать (текст)
Output- To learn more, please follow us - http://www.sql-datatools.com To Learn more, please visit our YouTube channel at - http://www.youtube.com/c/Sql-datatools To Learn more, please visit our Instagram account at - https://www.instagram.com/asp.mukesh/ To Learn more, please visit our twitter account at - https://twitter.com/macxima To Learn more, please visit our Medium account at - https://medium.com/@macxima
ETA: регулярные выражения действительно являются лучшим вариантом здесь:
# Регулярное выражение для извлечения URL
link_regex = re.compile ('((https?): ((//) | (\\\\)) + ([\ w \ d: # @% /; $ () ~ _? \ + - = \ \\. &] (#!)?) *) ', re.DOTALL)
Функция findall () используется для поиска всех экземпляров, соответствующих регулярному выражению, и извлекает URL-адреса из текста строки, чтобы поместить ее в массив.
links = re.findall (link_regex, текст)
#for цикл, чтобы получать URL-адреса один за другим, и вы можете сделать что-то вроде этого:
для lnk в ссылках:
print (lnk [0])
Outputs- http://www.sql-datatools.com http://www.youtube.com/c/Sql-datatools https://www.instagram.com/asp.mukesh/ https://twitter.com/macxima https://medium.com/@macxima
Извлечение URL-адресов осуществляется из текстового файла с помощью регулярного выражения. Выражение извлекает текст везде, где он соответствует шаблону. Для этого используется только модуль re.