美文网首页
正则表达笔记

正则表达笔记

作者: Eric_Zeng | 来源:发表于2016-12-07 16:16 被阅读6次

    #加载正则表示(regular expression)式,python的正则表达式引擎是用c语言写的,效率极高

    import re

    #编译正则表达式,正则表达式呗编译为模式对象,该对象拥有各种方法来操作字符串

    p = re.compile(r'[a-z]+')

    #加上r的意思是采用原始字符创来表达正则表达式,避免不必要的反斜杠麻烦,因为正则表达式使用'\\'表示匹配字符'\'

    print('p is:',p)

    m = p.match('fishc')

    print("if m = p.match('fishc')\nthen m:",m)

    print('m.group() is :',m.group())

    print('m.start() is :',m.start())

    print('m.end() is :',m.end())

    print('m.span() is :',m.span())

    print('注意!match()只检查正则表达式是否在字符串的起始位置,所以start()总是返回0,建议可以使用search()')

    #match()只检查正则表达式是否在字符串的起始位置,所以start()总是返回0

    print("p.match('>__

    print("p.search('>__

    ##match()和search()都是返回第一个匹配结果,要查找所有匹配结果则用findall()

    p = re.compile('\d+')

    print('p is:',p)

    k = p.findall('3只小甲鱼,15条腿,多出的3条在哪里?')

    print("p.findall('3只小甲鱼,15条腿,多出的3条在哪里?'):",k)

    ##finditer()是将匹配对象作为一个迭代器返回

    iterator = p.finditer('3只小甲鱼,15条腿,还有3条去了哪里?')

    print('p.finditer()则生成迭代器')

    for match in iterator:

         print('match.span()',match.span())

    相关文章

      网友评论

          本文标题:正则表达笔记

          本文链接:https://www.haomeiwen.com/subject/hwadmttx.html