如何只捕获析取的匹配边?

2024-10-04 03:19:13 发布

您现在位置:Python中文网/ 问答频道 /正文

以下代码:

re.findall('(a).(b)|(c).(d)','axbcyd')

捕获两个匹配项,都包含两个空字符串:

^{pr2}$

我只想返回:

^{3}$

本质上,只捕捉实际匹配的析取的一侧。我该怎么做?很高兴有一个完全不同的方法。。。在


Tags: 方法字符串代码re本质findallpr2axbcyd
1条回答
网友
1楼 · 发布于 2024-10-04 03:19:13

就像Avinash Raj说的,只要去掉空元素:

map(lambda x: tuple(filter(lambda y: y!='',x)),re.findall('(a).(b)|(c).(d)','axbcyd'))

(编辑:功能少了,Python多了:

^{pr2}$

相关问题 更多 >