美文网首页
re模块 | 关于分组

re模块 | 关于分组

作者: KeDaiBiaO1 | 来源:发表于2018-01-19 11:15 被阅读0次

    正则表达式:

    r'''(
        (\d{3}|\(\d{3}\))?    #area code
        (\s|-|\.)?            #seperator
        (\d{3})               #first three digits
        (\s|-|\.)             #seperator
        (\d{4})               #last four digits
        (\s*(ext|x|ext.)\s*(\d{2,5}))?    #extension
        )''', re.VERBOSE
    

    输入:
    415-863-9900 ext 23123
    输出:

    总结分组规则:

    1. 最外层() 匹配group(0) -----0
    2. 其他的开始正常匹配 ------ 1-5
    3. 然后到(\s*(ext|x|ext.)\s*(\d{2,5}))?
      (\s*(ext|x|ext.)\s*(\d{2,5}))?的全部匹配 ------6
      开始匹配里面的值 --------7-8
      7对应(ext|x|ext.) 8对应(\d{2,5})
      这个是匹配 空字符 零次或多次 + ext + 空字符 零次或多次 +数字2-5个

    相关文章

      网友评论

          本文标题:re模块 | 关于分组

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