首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

求正则表达式牛人 怎的获得截获了多次的组的所有子串

2013-06-26 
求正则表达式牛人 怎样获得截获了多次的组的所有子串Match.group(i)方法说明里说如果一个组被截获了多次

求正则表达式牛人 怎样获得截获了多次的组的所有子串
Match.group(i)方法说明里说
如果一个组被截获了多次 则 截获了多次的组返回最后一次截获的子串
比如"(\w)*"这样在组后跟数量词就会造成一个分组被截获多次,我想拿到某一组全部被截获的子串,而不仅是最后一次的该怎么做。 正则表达式
[解决办法]
帮你找到解决思路了:
【已解决】Python中的正则re查找中,从多个匹配的组中获得所有的匹配的值
[解决办法]
我不写完整的代码了,在re库里面有search函数,返回一个re对象,具体对象类型,好像是_sre.SRE_Match类型,但是这无所谓,在这个对象,可以引用start,end函数,返回匹配字符串的起始,结束的位置。你只需要
x=re.search(pattern,string)
if x:
    print string[x.start():x.end()]
你可以利用以上函数写一个自定义函数,每次从end返回的位置,开始不断匹配,直到不匹配或到字符串结尾。可以输出所有的匹配结果

热点排行