欢迎使用CSDN-markdown编辑器

来源:互联网 发布:自学编程的app 编辑:程序博客网 时间:2024/05/17 23:28

python3 正则表达式 小小笔记

re模块

  • match()
    >>>re.match('test','testing')
    <_sre.SRE_Match object; span=(0, 4), match=’test’>
    >>>re.match('test','testingtest')
    <_sre.SRE_Match object; span=(0, 4), match=’test’>
    输出是同样的结果 也就是说match()查询到第一个子串后就不会在往后继续查询
    `
    print(re.match('test','tesingtest'))
    None
    print(re.match('ing','inkeing'))
    None

    从上面的 输出可以得出如果查询子串在字符串不完整 也停止往后查询并且返回了None值

  • search()
    它将正则表达式应用于整个字符串上,只要在字符串的任意位置出现它就返回True,停止查询
    但是与match函数不同的是
    >>>re.search('test','tesingtest')
    Out[9]: <_sre.SRE_Match object; span=(6, 10), match='test'>
    返回第一个匹配的字串的对象,反之则返回None

  • findll()和finditer()
    >>>re.findall('test','tesingtestiktest')
    Out[11]: ['test', 'test']
    返回字符串中所有匹配成功并且作为一个列表返回
    >>>print(re.finditer('test','tesingtestoktest'))
    <callable_iterator object at 0x000001FB0BBE5470>
    =>>>for each in (re.finditer('test','tesingestoktest')):
    print(each,end = ' ')
    <_sre.SRE_Match object; span=(11, 15), match='test'>
    返回一个可以迭代的对象,可以用for语句来遍历该结果

今天就先写到这里,明天满课 后天有时间再继续~~~

原创粉丝点击