以下是引用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。
查了文档,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')], 只是这样总觉得不是好方法,而觉得这是很常见的需求,应该由更简洁直接的表述吧。