Примеры регулярных выражений Python

Primery Regularnyh Vyrazenij Python



Полная форма регулярного выражения — регулярное выражение. Это важная особенность любого языка программирования. Это строковый шаблон, который используется для сопоставления, поиска или замены строк в строковом значении. Шаблон регулярного выражения можно использовать в скрипте Python с помощью модуля Python «re». Этот модуль имеет множество типов функций для выполнения различных операций со строками. Различные метасимволы и специальные последовательности используются для определения шаблонов регулярных выражений для поиска или замены задач. В этом руководстве показаны цели использования некоторых часто используемых метасимволов, специальных последовательностей и методов регулярных выражений в скрипте Python.

Некоторые часто используемые метасимволы в регулярном выражении:









Персонажи Цель
'+' Он используется для сопоставления одного или нескольких вхождений определенного символа в строку.
'*' Он используется для сопоставления нуля или более вхождений определенного символа в строку.
'?' Он используется для сопоставления нуля или одного вхождения определенного символа в строке.
'^' Он используется для сопоставления определенного символа или строки в начале строки.
'$' Он используется для сопоставления определенного символа или строки в конце строки.
'|' Он используется для сопоставления любой из нескольких строк в строке. Это работает как логика ИЛИ.
'[]' Он используется для сопоставления диапазона символов.
'{}' Он используется для сопоставления определенного количества символов.



Некоторые часто используемые специальные последовательности в регулярных выражениях:





Последовательности Цель
'\А' Он используется для сопоставления определенного символа в начале строки. Он работает как символ «^».
‘\b’, ‘\B’ «\b» используется для сопоставления строки, содержащей определенный символ или слово в начале или конце строки. «\B» работает противоположно «\b».
‘\d’, ‘\D’ «\d» используется для сопоставления десятичного числа в строке, аналогичной «[0-9]». «\D» работает противоположно «\d».
'\SS' «\s» используется для сопоставления пробелов в строке, аналогичной «[\n\t\r\v]». «\S» работает противоположно «\s».
'\w', '\W' «\w» используется для сопоставления буквенных и цифровых символов в строке. «\W» работает противоположно «\w».
'\С' Он используется для сопоставления определенного символа в конце строки. Он работает как символ «$».

Пример 1. Сопоставление строки с помощью функции Match()

Функция match() используется для сопоставления шаблона регулярного выражения в начале строки. Синтаксис этой функции следующий:



Синтаксис:

повторный матч ( узор, флаги '=' 0 )

Здесь первый аргумент используется для определения шаблона регулярного выражения. Второй аргумент используется для определения основной строки. Третий аргумент является необязательным и используется для определения различных типов флагов.

Создайте файл Python с помощью следующего сценария, который сопоставляет шаблон регулярного выражения с определенной строкой, используя функцию match(). Во-первых, для сопоставления используется определенный шаблон регулярного выражения. Затем у пользователя берется искомое слово и используется как шаблон регулярного выражения для сопоставления со строковым значением. Если какое-либо совпадение найдено, искомое слово печатается. В противном случае печатается строка «Соответствующее значение не найдено».

#Импортируем необходимый модуль
импортировать повторно

#Определяем функцию для печати результата сопоставления
защита matchString ( ) :
#Проверяем возвращаемое значение функции match()
если вместе с ! = Нет:
Распечатать ( ''' + мат.группа ( ) + '' находится в '' + стрЗначение + ''' )
еще:
Распечатать ( «Соответствующее значение не найдено». )

#Определяем строковое значение
стрЗначение = 'Первым прибыл, первым обслужен.'
#Сопоставляем строку по шаблону
мат = повторное совпадение ( '^Первый' , стрЗначение )
#Вызов функции для печати результата совпадения
строка совпадения ( )

#Возьмем строку поиска
inValue = ввод ( 'Введите искомое значение: ' )
мат = повторное совпадение ( inValue +, стрValue )
#Вызов функции для печати результата совпадения
строка совпадения ( )

Для «первого» входного значения появляется следующий вывод:

Пример 2. Найдите строку с помощью функции Findall()

Функция findall() используется для возврата всех совпадающих слов, найденных в основной строке, в виде кортежа.

Синтаксис:

ре.финдалл ( узор, флаги '=' 0 )

Здесь первый аргумент используется для определения шаблона регулярного выражения. Второй аргумент используется для определения основной строки. Третий аргумент является необязательным и используется для определения различных типов флагов.

Создайте файл Python с помощью следующего сценария, который принимает от пользователя значение основной строки и значение строки поиска. Затем используйте искомое слово  в шаблоне регулярного выражения, чтобы найти искомое слово в основной строке. В выводе выводится общее количество совпадений.

#Импортируем необходимый модуль
импортировать повторно

#Принимаем строковое значение
inValue = ввод ( 'Введите строку: ' )

#Возьмите искомое слово
исходное значение = ввод ( 'Введите искомое слово: ' )

#Ищем слово в строке
srcResult = re.findall ( исходное значение + '\В*' , в цене )
#Распечатываем результат поиска
Распечатать ( 'Слово '' + исходное значение + '' находится в строке '
+ ул ( только ( srcResult ) ) + «раз». )

Согласно выходным данным, поисковое слово «есть» встречается дважды в основной строке «Мы едим, чтобы жить, а не живем, чтобы есть».

Пример 3. Поиск строки с помощью функции Search()

search() — это еще одна функция для поиска определенного шаблона в строковом значении. Он содержит те же аргументы, что и функции match() и findall(). Создайте файл Python с помощью следующего сценария, который ищет слово «Python» в строковом значении, которое будет получено от пользователя. Если искомое слово существует во входном значении, выводится сообщение об успехе. В противном случае печатается сообщение об ошибке.

#Импортируем повторный модуль
импортировать повторно

#Принимаем строковое значение
inValue = ввод ( 'Введите строку: ' )
#Ищем конкретное слово в строковом значении
srcResult = исследование.поиск ( р 'Питон\w*' , в цене )

#Проверяем, найдено ли искомое слово или нет
если источникРезультат:
Распечатать ( ''' + источникResult.group ( ) + '' находится в '' + inValue + ''' )
еще:
Распечатать ( «Строка поиска не найдена». )

Выход:

Если введена строка «Мне нравится программирование на Python», появится следующий вывод:

Если введена строка «Мне нравится программирование на PHP», появится следующий вывод:

Пример 4. Замена строки с помощью функции Sub()

Функция sub() используется для поиска определенной строки по шаблону и замены ее другим словом. Синтаксис этой функции следующий:

Синтаксис:

re.sub ( шаблон, replace_string, main_string )

Первый аргумент этой функции содержит шаблон, который используется для поиска определенной строки в основной строке.

Второй аргумент этой функции содержит строковое значение «замены».

Третий аргумент этой функции содержит основную строку.

Эта функция возвращает замененную строку, если в основной строке существует какое-либо подходящее слово на основе первого аргумента.

Создайте файл Python с помощью следующего сценария, который ищет две цифры в конце строки. Если строка содержит две цифры в конце, эти цифры заменяются строкой «$50».

#Импортируем повторный модуль
импортировать повторно

#Определяем основную строку
стрЗначение = «Цена книги 70»

#Определяем шаблон поиска
шаблон = '[0-9]{2}'

#Определяем значение замены
заменитьЗначение = «50 долларов»

#Ищем и заменяем строку по шаблону
модифицированное_strValue = re.sub ( шаблон, replaceValue, strValue )
#Распечатываем исходные и измененные строковые значения
Распечатать ( 'Исходная строка: ' + стрвалуе )
Распечатать ( 'Измененная строка: ' + модифицированное_strValue )

Выход:

В конце основной цепочки их было 70. Таким образом, в замененной строке число 70 заменяется на $50.

Пример 5. Замена строки с помощью функции Subn()

Функция subn() работает аналогично функции sub(), за исключением того, что она возвращает выходные данные в виде кортежа, где первый индекс содержит замененное значение, а второй индекс содержит общее количество совпадений.

Создайте файл Python со следующим скриптом, который ищет алфавиты от A до L в строке «LinuxHint.com», используя функцию subn():

#Импортируем повторный модуль
импортировать повторно

#Определяем основную строку
стрЗначение = 'LinuxHint.com'

#Определяем шаблон поиска
шаблон = '[К]'

#Определяем значение замены
заменитьЗначение = '*'

#Ищем и заменяем строку по шаблону
модифицированное_strValue = re.subn ( шаблон, replaceValue, strValue )
#Распечатываем исходную строку и вывод subn()
Распечатать ( «Исходная строка: \п ' + стрвалуе )
Распечатать ( 'Вывод функции subn(): ' )
Распечатать ( модифицированное_strValue )

Выход:

Согласно следующему выводу, символы «L» и «H» заменяются символом «*».

Пример 6. Разделение строки с помощью функции Split()

Создайте файл Python с помощью следующего сценария, который использовал функцию Split() для разделения основной строки на несколько частей на основе шаблона регулярного выражения:

#Импортируем повторный модуль
импортировать повторно

#Определяем строковое значение
стрVal= «Рупа Актер;Нира Чоудхури;Мажарул Ислам»
#Определяем шаблон, который будет использоваться для разделения данных
шаблон = '[^А-За-з ]'
#Сохраняем разделенные значения в списке
Split_result = re.split ( шаблон, стрВал )
Распечатать ( «Вывод функции Split():» )
Распечатать ( Split_result )

Выход:

Согласно выводу, основная строка делится на три части на основе шаблона «[^A-Za-z]», который используется в скрипте.

Заключение

Назначение наиболее часто используемых метасимволов, диапазонов и встроенных функций Python для поиска, замены и разделения строк показано в этом руководстве с использованием простых сценариев Python.