zoukankan      html  css  js  c++  java
  • python的re(正则表达式)

    python re

    1

    import re
    s = '''bottle
    bag
    big
    apple'''
    for i,c in enumerate(s, 1):
        print((i-1, c), end="
    " if i%8==0 else ' ')
        
    print()
    
    print('--match--')
    result = re.match('b', s) 
    print(1, result) 
    result = re.match('a', s) 
    print(2, result)
    result = re.match('^a', s, re.M)
    print(3, result)
    result = re.match('^a', s, re.S) 
    print(4, result)
    # 先编译,然后使用正则表达式对象
    regex = re.compile('a')
    result = regex.match(s) 
    print(5, result)
    result = regex.match(s, 15) 
    print (6, result) #
    print('--search--')
    result = re.search('a', s)
    print(7, result)
    regex = re.compile('a')
    result =regex.search(s, 15)
    print(8, result)
    regex = re.compile('^b')
    result =regex.search(s,11)
    print(9, result)
    result = re.fullmatch ('bag', s)
    print (10, result)
    regex = re.compile ('bag')
    result = regex.fullmatch(s)
    print (11, result)
    result = regex. fullmatch(s, 7)
    print (12, result)
    result = regex. fullmatch(s, 7, 10)
    print(13, result) # [7, 10)

    2

    import re
    s = '''bottle
    bag
    big
    able'''
    for i,c in enumerate(s, 1):
        print((i-1, c), end='
    ' if i%8==0 else ' ')
    print()
    
    result = re.findall('b', s)
    print(1, result)
    regex = re.compile('^b')
    result = regex.findall(s)
    print(2, result)
    regex = re.compile('^b', re.M)
    result = regex.findall(s, 7)
    print(3, result)
    regex = re.compile('^b', re.S)
    result = regex.findall(s)
    print(4, result)
    regex = re.compile('^b', re.S)
    result = regex.findall(s, 7)
    print(5, result)
    regex = re.compile('^b', re.M)
    result = regex.findall(s, 7, 10)
    print(6, result)

    3

    import re
    s = '''bottle
    bag
    big
    able'''
    for i,c in enumerate(s, 1):
        print((i-1, c), end='
    ' if i%8==0 else ' ')
    print()
    regex = re.compile('bwg')
    result = regex.sub('magedu', s)
    print(1, result)
    result = regex.sub('magedu', s, 1)
    print(2, result)
    regex = re.compile('s+')
    result = regex.subn('	', s)
    print(6, result)

    4

    import re
    s = '''01 bottle
    02 bag
    03    big
    100     able'''
    for i,c in enumerate(s, 1):
        print((i-1, c), end='
    ' if i%8==0 else ' ')
    print()
    
    print(s.split())
    result = re.split('[sd]+', s)
    print(1, result)
    regex = re.compile('^[sd]+')
    result = regex.split(s)
    print(2, result)
    regex = re.compile('^[sd]+', re.M)
    result = regex.split(s)
    print(3, result)
    regex = re.compile('s+d+s+')
    result = regex.split(' '+s)
    print(4, result)
    regex = re.compile('s?d{2}d?s+')
    result = regex.split(s)
    result = list(filter(None,result))
    print(5, result)

    5

    import re
    s = '''bottle
    bag
    big
    able'''
    for i,c in enumerate(s, 1):
        print((i-1, c), end='
    ' if i%8==0 else ' ')
    print()
    
    regex = re.compile('(bw+)')
    result = regex.match(s)
    print(result)
    print(type(result))
    print(1, 'match', result.groups())
    result = regex.search(s)
    print(2, 'search', result.groups())
    regex = re.compile('(bw+)
    (?P<name2>bw+)
    (?P<name3>bw+)')
    result = regex.match(s)
    print (3, 'match', result)
    print(4, result.group(3), result.group(2), result.group(1))
    print (5, result.group(0).encode()) 
    print (6, result.group('name2'), result.group('name3'))
    print (6, result.groups())
    print(7, result.groupdict())
    # result = regex.findall(s)
    # for x in result:
    #     print(type(x), x)
    regex = re.compile('(?P<head>bw+)')
    result = regex.finditer(s)
    for x in result:
        print(type(x), x, x.group(), x.group('head'))
  • 相关阅读:
    为什么做java开发的公司需要那么多程序员?
    一篇文章了解架构设计的本质
    深入理解 Java 多线程核心知识
    面试经验总结:注意这几点,面试通过率上涨30%
    程序员一般做到多少岁,那些70后的程序员都消失了?
    连阿里都在用它处理亿万级数据统计,论其对Java程序员的重要性!
    【源码】HashMap源码及线程非安全分析
    基于框架的RPC通信技术原理解析
    如何写好一份技术简历?
    彻底理解Netty,这一篇文章就够了
  • 原文地址:https://www.cnblogs.com/soymilk2019/p/15012275.html
Copyright © 2011-2022 走看看