找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 5066|回复: 1

[已解决] 正则表达式匹配结果中匹配组的问题。

1

主题

2

帖子

2

积分

贫民

积分
2
iceecream 发表于 2016-10-17 17:57:53 | 显示全部楼层 |阅读模式
有个字串,有如下内容
S='Hello World! | hey China! | hola Spain |konnniqiwa Japan'


正则表达式是(\w+) (\w+)(.)

请问我如何调用China,World这些个“字段,即正则的\2 匹配组   
我想到一种方法,感觉比较笨
首先用findall 生成一个匹配组列表,然后打印
m=re.findall(r"(\w+) (\w+)(.)",st)
for i in m:
print i[1]

虽然可以达到要求,但是感觉比较笨,因为 print i[1]中的数字1 是自己输的,不够灵活,有没有能够使用变量控制的方法?以便能够处理字符串多变的现象。望各位高手指点

回复

使用道具 举报

50

主题

1057

帖子

1108

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1108

活跃会员热心会员最佳导师默默耕耘突出贡献优秀版主荣誉管理论坛元老

blueelwang 发表于 2016-10-18 08:50:22 | 显示全部楼层
首先要明确, 正则表达式就是针对特定特征文本的匹配规则, 所以这里使用这种游标的方法是完全没有问题的
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表