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'))
  • 相关阅读:
    【SQL Server性能优化】SQL Server 2008之表压缩
    SQL Server 锁的排队机制
    通过DAC来连接SQL Server
    通过SQL Server的数据库邮件功能功能发送邮件
    【SQL 编程你也行】BOM按节点排序
    【SQL Server数据迁移】32位的机器:SQL Server中查询ORACLE的数据
    《女孩梦三十》
    在论坛中出现的比较难的sql问题:26(动态行专列+合并字符串、补足行数)
    【SQL Server高可用性】数据库镜像:同一台机器的两个不同实例上配置数据库镜像 + 另一台见证服务器
    【SQL Server高可用性】数据库复制:修改表结构、新增表、新增存储过程 会被复制到订阅服务器?
  • 原文地址:https://www.cnblogs.com/soymilk2019/p/15012275.html
Copyright © 2011-2022 走看看