Python Regex для сопоставления текста без учета регистра без re.compile()

Модуль Python ‘re’, сокращение от регулярных выражений, предоставляет мощный набор инструментов для распознавания образов в тексте. Существует модуль под названием «re», что означает регулярное выражение в Python, которое содержит различные встроенные функции для выполнения специальных операций с текстовыми и строковыми объектами.
В отличие от стандартных строковых объектов, регулярные выражения учитывают шаблоны различных символов, включая символы и специальные символы.
Проще говоря, регулярное выражение представляет собой строку символов, которая использует шаблоны поиска для поиска определенной последовательности символов. Используя модуль «re», очень легко идентифицировать и находить ключевые слова, которые могут нам понадобиться для различных целей.
Эта библиотека похожа на другой язык и может использоваться через код Python.
Изучение модуля re: общие команды и функции
Как и многие другие встроенные методы, модуль регулярных выражений также является встроенной библиотекой для работы с выражениями в Python. В регулярных выражениях есть несколько команд, которые используются для идентификации определенных шаблонов или символов, а также множество функций, хранящихся в этом модуле.
Некоторые из очень простых команд:
\w
: Эта команда используется для сопоставления любого алфавита, английских букв и цифр, то есть буквенно-цифровых символов, включая прописные и строчные буквы. [a-z,A-Z,0-9_]\d
: Эта команда используется для сопоставления или идентификации десятичных цифр или чисел в системе с основанием 10.[0-9]\D
: Это используется для идентификации и сопоставления нечисловых символов от ^0-9.\W
: Используется для сопоставления с не буквенно-цифровыми символами.\s
:Эта команда соответствует любым пробельным символам.\S
: Это соответствует любым непробельным символам в данном выражении.
Некоторые функции, представленные в этом модуле:
re.search() ->
Эта функция ищет определенный шаблон и возвращает значение, соответствующее выражению.re.match()->
Эта функция используется для сопоставления начала строки с заданным выражением.re.sub()->
Эта функция заменяет совпадающую строку выражения и заменяет ее чем-то другим.
Связано: сопоставление целых строк в Python с использованием регулярных выражений.
Понимание метода re.compile()
re.compile() используется для компиляции регулярного выражения, такого как строка, в объект регулярного выражения (regex). Синтаксис метода re.compile() выглядит следующим образом:
re.compile(string, count or flag)
string->
Это требуемый шаблон, который необходимо скомпилировать в объект шаблона регулярного выражения.
count or flag->
Это необязательный параметр, который можно указать с различными значениями регулярного выражения.
Пример: сопоставление без учета регистра с помощью re.compile()
В следующем примере мы будем использовать функцию re.compile() для сопоставления строки без учета регистра. Следовательно, в этом случае re.IGNORECASE поможет нам решить эту проблему, когда совпадение будет найдено, даже если буквы в верхнем или нижнем регистре.
#importing module
import re
#assigning text
txt="HelloWoRld"
# using re.compile and re.IGNORECASE
cpt=re.compile("hELLOWORld", re.IGNORECASE)
print(cpt.match(txt))
В этой программе наша строка с именем «txt» совпадает с текстом, указанным в качестве аргумента в функции re.compile(), единственная разница — их регистры. Следовательно, re.IGNORECASE игнорирует случаи, а match() пытается найти идеальное совпадение. Вывод должен вернуть объект re.match. Давайте посмотрим на вывод:
<re.Match object; span=(0, 10), match="HelloWoRld">

Есть и другие способы найти похожие шаблоны в строках символов, где есть символы смешанного регистра, и нам нужно игнорировать их, не используя re. компилировать(). Мы можем использовать
re.search()
функцию и используя re.IGNORECASE в качестве параметра этой функции, например флага. Или, используяre.match()
функцию напрямую и используя re.IGNORECASE в качестве аргумента этой функции.
Проверьте: Как обнаружить символы ASCII в строках Python.
Альтернативные методы сопоставления без учета регистра
Есть и другие способы найти похожие шаблоны в строках символов, где есть символы смешанного регистра, и нам нужно игнорировать их, не используя re. компилировать().
Мы можем использовать две разные функции:
Мы можем использовать re.search()
функцию и используя re.IGNORECASE в качестве параметра этой функции, например флага. Давайте посмотрим, как мы можем это сделать:
#importing module
import re
#assigning text
txt="askpyTHON"
print(re.search('ASKpython',txt,re.IGNORECASE))
Результат будет:
<re.Match object; span=(0, 9), match="askpyTHON">
Используя re.match()
функцию напрямую и используя re.IGNORECASE в качестве аргумента этой функции.
#importing module
import re
#assigning text
txt="ASSIgnmeNT"
print(re.match('ASSIGNMENT',txt,re.IGNORECASE))
Результат будет:
<re.Match object; span=(0, 10), match="ASSIgnmeNT">

Заключение и дальнейшее чтение
В этой статье рассматриваются основы регулярных выражений, которые сами по себе являются универсальным языком и могут использоваться с Python, Javascript, Objective C и т. д. Он имеет огромный набор функций, которые можно использовать для выполнения различных функций, а сам Python содержит модуль регулярных выражений, содержащий множество встроенных функций и методов, простых в использовании и мощных. Регулярные выражения часто используются при анализе текстовых сообщений и для выявления шаблонов. Прочитать полную документацию здесь! Какие еще креативные способы использования регулярных выражений вы можете придумать?
Ссылка на источник