Список метасимволов:
Прежде чем использовать шаблон для замены строки, вы должны знать, как написать шаблон регулярного выражения. Вы можете использовать любое строковое значение в качестве шаблона для точного совпадения. Но для конкретного поиска вы должны написать шаблон регулярного выражения, используя метасимвол. Список наиболее часто используемых метасимволов для написания шаблонов приведен ниже со смыслом.
Персонаж | Описание |
. | Он используется для соответствия любому одиночному символу, кроме новой строки. |
^ | Он используется для сопоставления любого символа или строки в начале нить. |
$ | Он используется для сопоставления любого символа или строки в конце строки. |
+ | Он используется для сопоставления одного или нескольких экземпляров шаблона. |
? | Он используется для сопоставления нуля или одного вхождения шаблона. |
() | Используется для группировки паттернов. |
Он используется для соответствия на основе нижнего или верхнего или нижнего и верхнего пределы. | |
[] | Он используется для сопоставления символов на основе заданного диапазона. |
| | Он используется для сопоставления шаблонов на основе логики ИЛИ. |
\ | Он используется для определения определенных символов или не символов, цифр или нецифровые. |
Заменить метод:
sub () метод 're' модуль используется в Python для замены строки.
Синтаксис:
sub (шаблон, замена, строка, счетчик = 0, флаги = 0)Здесь шаблон, заменять а также нить обязательные аргументы. Если шаблон совпадает с любой частью нить тогда он заменит часть на значение замена аргумент. Два других аргумента являются необязательными. Некоторые варианты использования вышеупомянутых метасимволов с методом sub () показаны в следующих примерах замены строк.
Пример-1: заменить строку точным соответствием
Если вы знаете точное строковое значение, которое хотите искать в основной строке, вы можете использовать значение поисковой строки в качестве шаблона в sub () метод. Создайте файл python со следующим скриптом. Здесь строковое значение поиска - "дождливый", а заменяющее строковое значение - "солнечно".
#!/ usr / bin / env python3# Импортировать модуль регулярных выражений
импортный ре
# Определить строку
orgStr = "Дождливый день"
# Заменить строку
repStr = re.sub ("дождливый", "солнечный", orgStr)
# Распечатать исходную строку
print ("Исходный текст:", orgStr)
# Вывести замененную строку
print ("Замененный текст:", repStr)
Выход:
Результат показан в правой части изображения.
Пример-2: поиск и замена строки в начале
Создайте файл python со следующим сценарием, чтобы узнать об использовании '^' в шаблоне регулярного выражения. Здесь, '^ [A-Za-z] + ' используется как шаблон поиска. Он будет искать все буквенные символы из А к Z а также а к z в начале текста и замените его пустым значением. Замененная строка будет напечатана в верхнем регистре для верхний () метод.
#!/ usr / bin / env python3# Импортировать модуль регулярных выражений
импортный ре
# Принимаем строковый ввод
originalText = input ("Введите текст \ n")
# Заменить строку на основе шаблона
replaceText = re.sub ('^ [A-Za-z] +', ", originalText).верхний ()
# Вывести замененную строку
print ("Замененный текст:", replaceText)
Выход:
Результат показан в правой части изображения. Здесь, 'Привет, добро пожаловать в linuxhint' берется в качестве входных данных и 'Привет' слово заменяется на " для выкройки.
Пример-3: поиск и замена строки в конце
Создайте файл python со следующим сценарием, чтобы узнать об использовании '$ ' символ в шаблоне регулярного выражения. Здесь, '[a-z0-9] + $'используется как шаблон в скрипте. Он будет искать все маленькие буквы и цифры в конце текста, и если вернет true, то соответствующая часть будет заменена строкой, 'ком.bd'.
#!/ usr / bin / env python3# Импортировать модуль регулярных выражений
импортный ре
# Принимаем строковый ввод
originalText = input ("Введите URL-адрес \ n")
# Заменить строку на основе шаблона
replaceText = re.sub ('[a-z0-9] + $', 'com.bd ', originalText)
# Вывести замененную строку
print ("Замененный текст:", replaceText)
Выход:
Результат показан в правой части изображения. Здесь https: // www.Google.com 'принимается как вводимый текст, а после замены' https: // www.Google.ком.bd 'печатается как вывод.
Пример-4: поиск и замена определенной части строки
Создайте файл python со следующим скриптом для поиска и замены части текста в том месте, где совпадает шаблон. Здесь список адресов электронной почты назначается в виде текста переменной с именем электронные письма. '@ [a-z]' используется шаблон для поиска. Он будет искать любую подстроку, начинающуюся с маленьких букв, за которыми следует '@' символ. Если какая-либо подстрока совпадает, она заменит эту подстроку на '@linuxhint'.
#!/ usr / bin / env python3# Импортировать модуль регулярных выражений
импортный ре
# Определить строку
emails = '\ n [защита электронной почты] \ n [защита электронной почты] \ n [защита электронной почты]'
# Заменить конкретную часть строки по шаблону
replaceText = re.sub ('@ [a-z] *', '@linuxhint', электронные письма)
# Распечатать исходную строку
print ("Исходный текст:", электронные письма)
# Вывести замененную строку
print ("\ nReplaced Text:", replaceText)
Выход:
Результат показан в правой части изображения. Здесь каждая доменная часть адреса электронной почты, назначенная в тексте, заменена на 'linuxhint'.
Заключение:
В этом руководстве показаны некоторые очень распространенные варианты использования шаблонов регулярных выражений для замены строк. В python существует множество других вариантов для написания различных типов простых и сложных шаблонов для поиска и замены строки текста.
Посмотреть авторское видео: здесь