Как я могу получить начальную и конечную позиции всех матчей с помощью re
модуля? Например, учитывая шаблон r'[a-z]'
и строку, 'a1b2c3d4'
я бы хотел получить позиции, в которых она находит каждую букву. В идеале я бы хотел вернуть и текст матча.
112
Ответы:
источник
start()
может принимать номер группы, поэтому, если вам нужен индекс n-й группы, используйтеstart(n)
Взято из
Регулярное выражение HOWTO
Совместите это с:
В Python 2.2 также доступен метод finditer (), возвращающий последовательность экземпляров MatchObject в качестве итератора.
вы должны уметь делать что-то в порядке
источник
re.search(r'abbit', "has abbit of carrot").span(0)
-(4, 9)
span()
похож на «стоп» в нотации фрагментов Python в том смысле, что он идет вверх, но не включает этот индекс; см. здесь .Для Python 3.x
Вы должны получить
\n
отдельные кортежи (включающие первый и последний индексы совпадения соответственно) и само совпадение для каждого совпадения в строке.источник
обратите внимание, что диапазон и группа индексируются для групп с несколькими захватами в регулярном выражении
источник
4
взялось?