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

    re.compile(pattern,flags=0)
    将正则表达式编译成正则表达式对象。可以使用match()和search()方法进行匹配。对于常用的表达式可以先进行编译,后续可多次使用以提高效率。如
    r = re.compile(r'a')
    rt = r.search('delav')
    rt.group() #结果为'a'

    re.match(pattern,strings)
    匹配字符串开头,并返回一个matchobject实例,如果匹配失败,则返回None。返回的实例可使用re.group()来返回匹配到的结果。如
    r = re.match(r'de', 'Delav')
    r.group()  #结果为de

    re.search(pattern,strings)
    匹配字符串任意位置(只返回字符串第一个位置的匹配项),并返回一个matchobject实例,如果匹配失败,则返回None。返回的实例可使用re.group()来返回匹配到的结果。如
    r = re.search(r'la', 'Delav')
    r.group()  #结果为'la'

    re.findall(pattern,strings)
    匹配字符串任意位置,返回从左到右匹配到的匹配项的列表,可以是零个、一个或多个。如
    r = re.findall(r'e', 'delaver')  #结果为['e','e']

    re.finditer(pattern,strings)
    从左到右进行匹配,返回一个包含matchobject实例的迭代器。如
    r = re.finditer(r'e', 'delaver')
    for i in r:
      i.group() #结果为'e', 'e'

    re.split(pattern,strings,maxsplit=0)
    以匹配到的匹配项来分割字符串,并返回一个分割后的字符串列表。maxsplit表示最多分隔次数。如
    r = re.split(r';|,|=', 'de,lo;pe=wq')  #结果为['de', 'lo', 'pe', 'wq']
    r = re.split(r';|,|=', 'de,lo'pe=wq', maxsplit=2) #结果为['de', 'lo', 'pe=wq']

    re.sub(pattern,repl,strings,count=0)
    用repl来替换匹配到的匹配项,并返回替换后的字符串。count表示最大替换次数。如
    r = re.sub(r'e', '@', 'delaver')  #结果为'd@lav@r'
    r = re.sub(r'e', '@', 'delaver', count=1) #结果为'd@laver'

    re.sub(pattern,repl,strings,count=0)
    与sub()相同作用,只是subn()返回的是替换后的字符串和替换次数组成的元组。如
    r = re.subn(r'e', '@', 'delavererefe')  #结果为('d@lav@r@r@f@', 5)
    r = re.subn(r'e', '@', 'delavererefe', count=3)  #结果为('d@lav@r@refe', 3)

    re.escape(pattern)
    将字符串中所有可能被解释为正则运算符的字符进行转义。如
    re.escape('python.exe')  #结果为'python.exe'

    re.purge()

    清楚正则表达式缓存

     
     
     
     
     









  • 相关阅读:
    Codeforces 1237D. Balanced Playlist
    Codeforces 1237C2. Balanced Removals (Harder)
    使用excel计算指数平滑和移动平均
    HP滤波原理浅学
    第二章平稳时间序列模型——ACF和PACF和样本ACF/PACF
    第二章平稳时间序列模型——AR(p),MA(q),ARMA(p,q)模型及其平稳性
    第一章时间序列基础——差分方程和求解(二)
    R中的par()函数的参数
    你真的懂了R中的stem函数是如何绘制茎叶图的么?
    关于R中的mode()和class()的区别
  • 原文地址:https://www.cnblogs.com/delav/p/9395548.html
Copyright © 2011-2022 走看看