匹配对象与组的使用

    科技2022-07-10  99

    1、匹配对象与组的使用 group()、groups()、groupdict()方法都是处理在正则表达式中使用‘()’分组的情况。不同的是。 group()的返回值为字符串,当传递多个参数时其返回值为元组; groups()的返回值为元组 groupdict的返回值为字典

    >>> import re >>> s='''Life can be dreams, #定义字符串 ... Life can be great thoughts; ... Life can mean a person ... Sitting in a court.''' >>> r=re.compile('\\b(?P<first>\w+)a(\w+)\\b') #对正则表达式进行编译 >>> m=r.search(s)#从头开始搜索,返回搜索到的第一个单词 >>> m.groupdict()#使用groupdict()输出字典 {'first': 'c'} >>> m.groups()#使用groups()输出元组 ('c', 'n') >>> m=r.search(s,9)#从指定位置开始重新搜索 >>> m.group()#输出匹配到的字符串 'dreams' >>> m.group(0) 'dreams' >>> m.group(1)#输出第一对圆括号中的内容,即字母‘a’之前部分 'dre' >>> m.group(2)#输出第二对圆括号中的内容,即字母‘a’之后的部分 'ms' >>> m.group(1,2) ('dre', 'ms') >>> m.groupdict() {'first': 'dre'} >>> m.groups() ('dre', 'ms') >>>

    2 匹配对象与索引使用 start()、end()、span()、方法返回所匹配的字符串的索引。其原型分别如下: start([groupid=0]) end([groupid=0]) span([groupid=0])

    >>> import re >>> s="Quiet efforts, quiet top-notch, a blockbuster" #定义字符串 >>> r=re.compile("\\b(?P<first>\w+)e(\w+)\\b")#编译正则表达式 > m=r.search(s) >>> m.start(1) #输出第一组的起始位置 0 >>> m.start(2)#输出第二组的起始位置 4 >>> m.end(1)#输出第一组的结束位置 3 >>> m.end(2)#输出第二组的结束位置 5 >>> m.group(1) 'Qui' >>> m.group(2) 't' >>> m.groupdict() {'first': 'Qui'} >>> m.span(1) (0, 3) >>> m.span(2) (4, 5) >>>
    Processed: 0.046, SQL: 8