zoukankan      html  css  js  c++  java
  • python正则表达式模块

    正则表达式是对字符串的最简约的规则的表述。python也有专门的正则表达式模块re.

    正则表达式函数 释义
    re.match() 从头开始匹配,匹配失败返回None,匹配成功可通过group(0)返回匹配成功的字符串
    re.search() 扫描整个字符串,并返回第一个匹配的字符串
    re.sub() 对符合要求的所有子串进行替换
    re.findall() 以列表形式返回所有符合条件的子串    
    re.split() 以模式作为切分符号切分字符串,并返回列表
    re.finditer() 找到 RE 匹配的所有子串,并把它们作为一个迭代器返回
    re.compile() 把那些经常使用的正则表达式编译成正则表达式对象
    re.group() 返回被 RE 匹配的字符串
    re.start() 返回匹配开始的位置
    re.end() 返回匹配结束的位置
    re.span() 返回一个元组包含匹配 (开始,结束) 的位置
    import  re
    
    list=['15865548338cong' ,'abcd18701687236ef','gafei18511371536' ,'wb15865737271dad13244556677']
    print(list)
    for items in list:
        # start
        l=re.match( r'd{11}',items )
        print('match:',l )
        if l!=None:
            print('match.group(0)',l.group(0))
        # start-end
        m = re.search( '[0-9]{11}',items )
        print('search:',m.group( 0))
        print('search,.start:',m.start())
        print('search,.end:',m.end())
        print('search,.span:',m.span())
        # replace
        n=re.sub( r'd','*' ,items)
        print('sub:',n )
        # return list
        o=re.findall(r'd{11}',items )
        print('findall:',o )
        # str2list 
        p=re.split( r'd+',items )
        print('split:',p )
        # iterator
        q=re.finditer(r'd+',items )
        for i in q:
            print('finditer:' ,i.group())
        pattern=re.compile(r'd{11}')
        print pattern.findall(items)
        
        print('***********************************************' )

    输出结果:

    ['15865548338cong', 'abcd18701687236ef', 'gafei18511371536', 'wb15865737271dad13244556677']
    ('match:', <_sre.SRE_Match object at 0x00000000025D2510>)
    ('match.group(0)', '15865548338')
    ('search:', '15865548338')
    ('search,.start:', 0)
    ('search,.end:', 11)
    ('search,.span:', (0, 11))
    ('sub:', '***********cong')
    ('findall:', ['15865548338'])
    ('split:', ['', 'cong'])
    ('finditer:', '15865548338')
    ['15865548338']
    ***********************************************
    ('match:', None)
    ('search:', '18701687236')
    ('search,.start:', 4)
    ('search,.end:', 15)
    ('search,.span:', (4, 15))
    ('sub:', 'abcd***********ef')
    ('findall:', ['18701687236'])
    ('split:', ['abcd', 'ef'])
    ('finditer:', '18701687236')
    ['18701687236']
    ***********************************************
    ('match:', None)
    ('search:', '18511371536')
    ('search,.start:', 5)
    ('search,.end:', 16)
    ('search,.span:', (5, 16))
    ('sub:', 'gafei***********')
    ('findall:', ['18511371536'])
    ('split:', ['gafei', ''])
    ('finditer:', '18511371536')
    ['18511371536']
    ***********************************************
    ('match:', None)
    ('search:', '15865737271')
    ('search,.start:', 2)
    ('search,.end:', 13)
    ('search,.span:', (2, 13))
    ('sub:', 'wb***********dad***********')
    ('findall:', ['15865737271', '13244556677'])
    ('split:', ['wb', 'dad', ''])
    ('finditer:', '15865737271')
    ('finditer:', '13244556677')
    ['15865737271', '13244556677']
    ***********************************************
    请按任意键继续. . .
  • 相关阅读:
    跨界 +赋能——互联网的下一个关键词
    Jmeter学习笔记(二十一)——Concurrency Thread Group阶梯式加压测试
    Jmeter学习笔记(二十)——后置处理器XPath Extractor使用
    Jmeter学习笔记(十九)——后置处理器之正则表达式的使用
    JMeter学习笔记(十八)——返回的响应数据出现中文乱码_解决方案
    Jmeter学习笔记(十七)——jmeter目录结构
    Jmeter学习笔记(十六)——HTTP请求之content-type
    Jmeter学习笔记(十五)——常用的4种参数化方式
    Jmeter学习笔记(十四)——逻辑控制器
    Jmeter学习笔记(十三)——xpath断言
  • 原文地址:https://www.cnblogs.com/wangbin2188/p/6547183.html
Copyright © 2011-2022 走看看