Python正则表达式之findall疑点

在findall中使用()进行分组时,得出的结果会优先提取分组的,比如下面这个例子

1 In [46]: re.findall(r"www.(baidu|163).com", "www.baidu.com")
2 Out[46]: ['baidu']

我们如何实现得出的结果是www.baidu.com呢

实现的方法是在分组的开头加上"?:"

1 In [47]: re.findall(r"www.(?:baidu|163).com", "www.baidu.com")
2 Out[47]: ['www.baidu.com']

 

posted @ 2017-06-12 11:38  许小伍  阅读(288)  评论(0编辑  收藏  举报