Python

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 Compile и Re IGNORECASE
Использование re.Compile и re.IGNORECASE

Есть и другие способы найти похожие шаблоны в строках символов, где есть символы смешанного регистра, и нам нужно игнорировать их, не используя 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">
Методы, отличные от повторной компиляции, которые можно использовать для игнорирования регистра
Методы, отличные от re.Compile, которые можно использовать для игнорирования регистра

Заключение и дальнейшее чтение

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


Ссылка на источник

Похожие статьи

Кнопка «Наверх»