python re.search模块实验

来源:互联网 发布:机器人编程c语言 编辑:程序博客网 时间:2024/05/14 16:40

re.search函数会在字符串内查找模式匹配,只到找到第一个匹配然后返回,如果字符串没有匹配,则返回None。

1. group:

返回匹配到的一个或者多个子组。如果是一个参数,那么结果就是一个字符串,如果是多个参数,那么结果就是一个参数一个item的元组。group1的默认值为0(将返回所有的匹配值).如果groupN参数为0,相对应的返回值就是全部匹配的字符串,如果group1的值是[1…99]范围之内的,那么将匹配对应括号组的字符串。如果组号是负的或者比pattern中定义的组号大,那么将抛出IndexError异常。如果pattern没有匹配到,但是group匹配到了,那么group的值也为None。如果一个pattern可以匹配多个,那么组对应的是样式匹配的最后一个。另外,子组是根据括号从左向右来进行区分的。如下,group(1)对应的正则为(\w+),group(2)对应的为(\w*),group(3)对应的为([\w\.]+),group(4)对应的为(\w+)

In [337]: text="mysql://root:123456@127.0.0.1:3306/text"In [338]:In [338]:In [338]: aa=re.search(r'''^mysql:\/\/(\w+):(\w*)@([\w\.]+):(\d+)\/(\w+)$''',text)In [339]:In [339]:In [339]: aa.gaa.group     aa.groupdict aa.groupsIn [339]:In [339]: aa.groupIn [339]: aa.group(1,2,3)Out[339]: ('root', '123456', '127.0.0.1')In [340]:In [340]:In [340]: aa.groupaa.group     aa.groupdict aa.groupsIn [340]:In [340]: aa.groupIn [340]: aa.group(0)Out[340]: 'mysql://root:123456@127.0.0.1:3306/text'


 

原创粉丝点击