Python re.findall - Что означает «Пустые совпадения включены в результат». - PullRequest
3 голосов
/ 30 сентября 2019

Я ссылаюсь на эту ссылку: https://docs.python.org/3/library/re.html#re.findall

Что означает «Пустые совпадения включены в результат».

Ответы [ 4 ]

2 голосов
/ 30 сентября 2019

Это просто означает, что в случае совпадения «» или пустой строки, оно включено в список результатов.

1 голос
/ 30 сентября 2019

Совпадения нулевой длины или пустые совпадения.

Регулярное выражение состоит из определений границ или якорей, например, оператора ^. Как только якорь ударил, у вас есть совпадение, которое может быть «пустым», за которым сразу же следует другой якорь.

1 голос
/ 30 сентября 2019

Это происходит, когда вы используете группы, которые соответствуют пустой строке, например:

 print(re.findall(r'(\w)(\d?)(\w)', "bc"))

OUPUT:

[('b', '', 'c')]

Здесь группа (\d?) соответствует '' и включена врезультат.

0 голосов
/ 30 сентября 2019

Если тема - пустая строка, тогда fullmatch () оценивается как True для любого регулярного выражения, которое может найти ... Общее соответствие регулярному выражению не включается в кортеж, если только вы не поместите все ... в регулярном выражениивыражением, так как необработанные строки не предлагают средства избежать его.

...