Модули и функции · встроенный MicroPython FEMM 5
re
Поиск и замена простых регулярных выражений.
Условия работы
- Используйте сырые строки r"..." для обратных слешей. Доступны группы (), классы [], . * + ? ^ $ и расширение повторов {m,n}.
- Параметр flags в функциях этого модуля отсутствует. Ошибка шаблона — re.error/ValueError.
- Объект совпадения поддерживает group(index) и groups(); для методов конкретного объекта проверяйте dir(match).
re.matchre.searchre.fullmatchre.compilere.purgere.findallre.finditerre.splitre.subre.subnre.escapere.expand_bracesre.matchИщет совпадение только в начале строки.
re.match
match(pattern, string)Ищет совпадение только в начале строки.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Строковый шаблон или скомпилированный объект, если принимает реализация. |
string | Проверяемый текст. |
Возвращаемое значение
Объект совпадения или None.
Пример
"Пример re.match.\nСреда: встроенный MicroPython FEMM 5.\nИщет совпадение только в начале строки.\nРезультат: Объект совпадения или None."
import re
assert re.match(r'B=([0-9.]+)','B=0.25').group(1) == '0.25'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.searchИщет первое совпадение в любом месте строки.
re.search
search(pattern, string)Ищет первое совпадение в любом месте строки.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Строковый шаблон или скомпилированный объект, если принимает реализация. |
string | Проверяемый текст. |
Возвращаемое значение
Объект совпадения или None.
Пример
"Пример re.search.\nСреда: встроенный MicroPython FEMM 5.\nИщет первое совпадение в любом месте строки.\nРезультат: Объект совпадения или None."
import re
assert re.search(r'B=([0-9.]+)','run B=0.25').group(1) == '0.25'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.fullmatchТребует совпадения со всей строкой.
re.fullmatch
fullmatch(pattern, string)Требует совпадения со всей строкой.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Строковый шаблон или скомпилированный объект, если принимает реализация. |
string | Проверяемый текст. |
Возвращаемое значение
Объект совпадения или None.
Пример
"Пример re.fullmatch.\nСреда: встроенный MicroPython FEMM 5.\nТребует совпадения со всей строкой.\nРезультат: Объект совпадения или None."
import re
assert re.fullmatch(r'[0-9]+','123') is not None
assert re.fullmatch(r'[0-9]+','123a') is None
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.compileРаскрывает ограниченные повторы {m,n} и кэширует результат.
re.compile
compile(pattern)Раскрывает ограниченные повторы {m,n} и кэширует результат.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Строка регулярного выражения. |
Возвращаемое значение
Скомпилированный объект с match/search/split/sub.
Пример
"Пример re.compile.\nСреда: встроенный MicroPython FEMM 5.\nРаскрывает ограниченные повторы {m,n} и кэширует результат.\nРезультат: Скомпилированный объект с match/search/split/sub."
import re
p=re.compile(r'B=([0-9.]+)')
assert p.search('B=0.5').group(1) == '0.5'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.purgeОчищает кэш скомпилированных шаблонов.
re.purge
purge()Очищает кэш скомпилированных шаблонов.
Аргументы
Аргументы не требуются.
Возвращаемое значение
None.
Пример
"Пример re.purge.\nСреда: встроенный MicroPython FEMM 5.\nОчищает кэш скомпилированных шаблонов.\nРезультат: None."
import re
re.compile('B')
re.purge()
assert re.search('B','B') is not None
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.findallВозвращает все неперекрывающиеся совпадения.
re.findall
findall(pattern, string)Возвращает все неперекрывающиеся совпадения.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Строка шаблона. |
string | Текст поиска. |
Возвращаемое значение
Список строк без групп, строк одной группы или кортежей нескольких групп.
Пример
"Пример re.findall.\nСреда: встроенный MicroPython FEMM 5.\nВозвращает все неперекрывающиеся совпадения.\nРезультат: Список строк без групп, строк одной группы или кортежей нескольких групп."
import re
assert re.findall(r'[0-9]+','I=10 N=100') == ['10','100']
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.finditerПеребирает неперекрывающиеся совпадения слева направо.
re.finditer
finditer(pattern, string)Перебирает неперекрывающиеся совпадения слева направо.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Строка шаблона. |
string | Текст поиска. |
Возвращаемое значение
Итератор объектов совпадения.
Пример
"Пример re.finditer.\nСреда: встроенный MicroPython FEMM 5.\nПеребирает неперекрывающиеся совпадения слева направо.\nРезультат: Итератор объектов совпадения."
import re
assert [m.group(0) for m in re.finditer(r'[0-9]+','10 20')] == ['10','20']
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.splitДелит текст по регулярному разделителю.
re.split
split(pattern, string, maxsplit=0)Делит текст по регулярному разделителю.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Разделяющий шаблон. |
string | Исходный текст. |
maxsplit | Максимум разделений; 0 означает все. |
Возвращаемое значение
Список строк.
Пример
"Пример re.split.\nСреда: встроенный MicroPython FEMM 5.\nДелит текст по регулярному разделителю.\nРезультат: Список строк."
import re
assert re.split(r'[,;]','10;20,30') == ['10','20','30']
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.subЗаменяет найденные фрагменты.
re.sub
sub(pattern, repl, string, count=0)Заменяет найденные фрагменты.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Шаблон. |
repl | Строка замены или функция от совпадения. |
string | Исходный текст. |
count | Предел замен; 0 означает все. |
Возвращаемое значение
Новая строка.
Пример
"Пример re.sub.\nСреда: встроенный MicroPython FEMM 5.\nЗаменяет найденные фрагменты.\nРезультат: Новая строка."
import re
assert re.sub(r'[ ]+','_','B peak value') == 'B_peak_value'
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.subnВозвращает текст и фактическое количество замен.
re.subn
subn(pattern, repl, string, count=0)Возвращает текст и фактическое количество замен.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Шаблон. |
repl | Строка или функция замены. |
string | Исходный текст. |
count | Предел замен, 0 для всех. |
Возвращаемое значение
Пара (новая строка, число замен).
Пример
"Пример re.subn.\nСреда: встроенный MicroPython FEMM 5.\nВозвращает текст и фактическое количество замен.\nРезультат: Пара (новая строка, число замен)."
import re
assert re.subn('B','H','B B') == ('H H',2)
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.escapeЭкранирует символы, имеющие значение в регулярном выражении.
re.escape
escape(pattern)Экранирует символы, имеющие значение в регулярном выражении.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pattern | Произвольный текст. |
Возвращаемое значение
Строка экранированного шаблона.
Пример
"Пример re.escape.\nСреда: встроенный MicroPython FEMM 5.\nЭкранирует символы, имеющие значение в регулярном выражении.\nРезультат: Строка экранированного шаблона."
import re
assert re.search(re.escape('B[T]'),'B[T]') is not None
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
re.expand_bracesВспомогательное расширение повторов, применяемое compile.
re.expand_braces
expand_braces(pat)Вспомогательное расширение повторов, применяемое compile.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
pat | Шаблон с ограниченными повторами {m,n}. |
Возвращаемое значение
Раскрытая строка шаблона.
Пример
"Пример re.expand_braces.\nСреда: встроенный MicroPython FEMM 5.\nВспомогательное расширение повторов, применяемое compile.\nРезультат: Раскрытая строка шаблона."
import re
assert re.fullmatch('[0-9]{2}','12') is not None
assert isinstance(re.expand_braces('a{2}'),str)
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.