| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1944 人关注过本帖
标题:请教正则表达式的一个问题,abd或者cd
只看楼主 加入收藏
shyJohnni
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-7-12
收藏
得分:0 
以下是引用pangding在2012-7-16 21:19:28的发言:

查了文档,findall 说如果匹配中有 group 的话,就只返回 group 的列表, 而不是匹配内容的列表。(If one or more groups are present in the pattern, return a list of groups)
如果你用 match 的话,会返回匹配的串。python 我也不是很熟,我之前只是说了正则表达式的一些通论,不知道用 python 怎么表达。
>>> re.match(r'www.(baidu|google).com', "www.baidu.com").group()
'www.baidu.com'
你等等那两人,我估计他们现在可能知道你是什么意思了。他们比我熟悉 python。


恩,谢啦,其实我有办法获得,就是再加一个括号,  pa=r'(www.(baidu|google).com)' ,这样的话就可以,但返回的是[ ('www.baidu.com','baidu'),('www.','google')], 只是这样总觉得不是好方法,而觉得这是很常见的需求,应该由更简洁直接的表述吧。
2012-07-17 10:19
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
回复 11楼 shyJohnni
使用非分组的括号就可以了,文档里写得很清楚。我觉得这位仁兄多少也应该自己查查:
re.findall(r'www.(?:baidu|google).com', "www.baidu.com, www.")

2012-07-17 12:01
快速回复:请教正则表达式的一个问题,abd或者cd
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015406 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved