Как регулярное выражение пустой строки в Python? - PullRequest
0 голосов
/ 10 марта 2010

Я хочу, чтобы найти пустые теги, вот пример

txt ="<lol1><><lol2>"
rgx = "<([a-zA-Z_0-9]+)>"
print re.findall(rgex, txt)

Я получаю это

['lol1', 'lol2']

Я хочу

['lol1', '', 'lol2']

Как я могу сделатьэто с регулярным выражением?

Ответы [ 2 ]

7 голосов
/ 10 марта 2010

Использование rgx = "<([a-zA-Z_0-9]*)>"

Ключевым моментом является использование *, что означает «ноль или более от предыдущего», где вы используете +, что означает «один или несколько».

0 голосов
/ 10 марта 2010

не нужно регулярное выражение

>>> s="txt ="<lol1><><lol2>"
>>> for i in txt.split(">"):
...     if "<" in i:
...        print i[i.find("<")+1:]
...
lol1

lol2
>>> [i[i.find("<")+1:] for i in txt.split(">") if "<" in i ]
['lol1', '', 'lol2']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...