zoukankan      html  css  js  c++  java
  • python模式匹配,提取指定字段

     re匹配时分多行模式(re.M)与单行模式(rs.S),多行模式是每一行单独匹配,单行模式是把所有的行当成一行来匹配。

    单行模式下.可以匹配换行符。

    ^$匹配所有字符

    import re


    s='1_2_3_4_5_635_0.ts'



    m = re.match(r'(.*)_(d+)_(d+)', s)

    print "m.string:", m.string
    print "m.re:", m.re
    print "m.pos:", m.pos
    print "m.endpos:", m.endpos
    print "m.lastindex:", m.lastindex
    print "m.lastgroup:", m.lastgroup
     
    print "m.group(1,2):", m.group(1, 2, 3)
    print "m.groups():", m.groups()
    print "m.groupdict():", m.groupdict()
    print "m.start(2):", m.start(2)
    print "m.end(2):", m.end(2)
    print "m.span(2):", m.span(2)
    print r"m.expand(r'2 13'):", m.expand(r'2 13')

    .默认不匹配换行符 ,要匹配换行符那么加上re.S标志

    m = re.match(r'(.*)_(d+)_(d+)', s, re.S)

    修饰符描述
    re.I 使匹配对大小写不敏感
    re.L 做本地化识别(locale-aware)匹配
    re.M 多行匹配,影响 ^ 和 $
    re.S 使 . 匹配包括换行在内的所有字符
    re.U 根据Unicode字符集解析字符。这个标志影响 w, W, , B.
    re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

    http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

    https://www.cnblogs.com/dreamer-fish/p/5282679.html

  • 相关阅读:
    树状数组
    线段树
    最短路(FLOYD)
    欧拉函数
    筛素数
    并查集
    背包方案数问题(礼物)
    [BeijingWc2008]雷涛的小猫
    受欢迎的牛[HAOI2006]
    删除物品[JLOI2013]
  • 原文地址:https://www.cnblogs.com/mingzhang/p/8478682.html
Copyright © 2011-2022 走看看