python 正则匹配多个字符串_的正则表达式使用一组匹配多个子字符串?

在Python中,使用正则表达式解析未知数量的字符串元素。例如,匹配等于号后的一系列数字(如=A1 A2 A3 A4),期望结果是 ('1', '2', '3', '4')。示例代码使用`re.findall`或通过编译模式以处理多个匹配项。同时,提供了解决函数调用参数匹配的方法。" 120552333,9036138,C++后台开发:深入理解网络IO模型与Reactor模式,"['C++后台开发', '网络IO模型', 'Reactor模式', 'Linux服务器开发', 'IO模型']
摘要由CSDN通过智能技术生成

我正在尝试使用Python中的RegEx解析元素数量未知的字符串.这是示例:

>>>> import re

>>>> re.match("\=( A([0-9]+))*", "= A1 A2 A3 A4").groups()[1::2]

('4',)

我希望有:

('1', '2', '3', '4',)

如何获得预期的结果?

编辑:

re.findall对我不起作用.让我举一个更好的例子:

我要匹配以下字符串:

_func(cmd, param1, param2, param3, param4)_

我事先不知道参数的数量.我希望使用以下代码解决它:

>>> re.match("(\w+)\(cmd(, (\w+))*\)", "func(cmd, param1, param2, param3, param4)")

但这是行不通的,因为组()*不会扩展为很多项目,而只能使用last.有任何想法吗?

解决方法:

pat = re.compile(r' A(\d+)')

lst = re.findall(pat, "= A1 A2 A3 A4")

这将返回一个列表,在您的示例中,您显示了一个元组.我认为列表对您有用,但是您当然可以始终这样做:

t = tuple(lst)

我刚刚给出的答案实际上并没有检查输入字符串中的=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值