x = "type='text'"
re.findall("([A-Za-z])='(.*?)')", x) # this will work like a charm and produce
# ['type', 'text']
但是,我的问题是我想实现一个管道(交替),以便相同的正则表达式适用于
x = 'type="text"' # see the quotes
基本上,以下正则表达式应该可以工作,但使用 findall 会导致一些奇怪的事情:
([A-Za-z])=('(.*?)')|"(.*?)")
而且我不能使用 ['"] 代替管道,因为它可能会以不好的结果结束:
value="hey there what's up?"
现在,如何构建适用于单引号或双引号的正则表达式?顺便说一句,请不要建议任何 html 或 xml 解析器,因为我对它们不感兴趣。