У меня есть регулярное выражение, которое выглядит как:Extract имя и Пролет Regex Сопрягано группы
rgx = '(?P<foo>ABC)(?P<bar>DEF)?(?P<norf>HIJK)'
Получение совпавшей строки не проблема m.group(name)
. Тем не менее, мне нужно извлечь имя и span из сопоставленных групп (или даже просто по имени) и не нашли способ сделать это. Я хотел бы сделать что-то вроде:
p = re.compile(p, re.IGNORECASE)
m = p.match(targetstring)
#then do something to set 'all' to the list of match objects
for mo in all
print mo.name() + '->' + mo.span()
Так, например, строка ввода «ABCDEFHIJK» должен генерировать вывод:
'foo' -> (0, 3)
'bar' -> (3, 6)
'norf' -> (6, 10)
Спасибо!
что 'span'? – laike9m
отправьте пример вместе с ожидаемым выходом. –
@ laike9m span - это метод, относящийся к средству Matchge для регулярного выражения. Он сообщает, какая часть строки была сопоставлена. – Colin