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

    import re

    re.findall('xx','xxxx')

    re.search('xx','xxx').group() 只匹配一个

    re.match('xx','xxx') 起始位置匹配

    ?非贪婪匹配

    元字符    .     ^ $       * + ?{}    []      

    . 通配符

    ^ 在字符串开头

    $ 在字符串结尾

    * 匹配0次到多次

    + 1到多次

    ?0到1次

    {} 固定次数,可一个参数或2个区间参数

    [] 字符集 或者的意思[a-z],如果[^1-9]非数字,^是 非 的意思

    去除特殊功能;跟普通字符实现特殊功能;引用序号所在的字组所匹配的字符串  

      d 数字

      w 数字和字母

      s 空格

       abc 匹配字符和特殊字符的位置 

    第三个参数标志位

    re.I 对大小写不敏感

    re.S

    re.sub(原来,新的,字符串) 替换

    xx = re.compile(规则)

    xx.findall(text)

    xx.split(text)

    re.findall('www.(baidu|laonanhai).com','sfdagdg www.baidu.com') ==>baidu

    re.findall('www.(?:baidu|laonanhai).com','sfdagdg www.baidu.com') ==>www.baidu.com

    1 import re
    2 
    3 origin = 'hello ,adklfkl ndngdngkn englkng 139i24 dgnkl '
    4 r = re.match('(?P<n1>h)(?P<n2>w+)',origin)
    5 print(r.groupdict()) #获取模型中匹配到的分组中所有执行了Key的组,变成字典 {'n1': 'h', 'n2': 'ello'}
    6 print(r.group()) #获取匹配到的所有结果 hello
    7 print(r.groups()) # 获取模型中匹配到的分组的结果 ('h', 'ello')

     flags

    • re.I(IGNORECASE)忽略大小写,括号内是完整的写法
    • re.M(MULTILINE)多行模式,改变^$的行为
    • re.S(DOTALL)点可以匹配任意字符,包括换行符
    • re.L(LOCALE)做本地化识别的匹配,不推荐使用
    • re.U(UNICODE) 使用w W s S d D使用取决于unicode定义的字符属性。在python3中默认使用该flag
    • re.X(VERBOSE)冗长模式,该模式下pattern字符串可以是多行的,忽略空白字符,并可以添加注释
    oringin = 'sfbdfjkbdkf21342gdsdjgndjgbkj556435ssjf5413515djkfb'
    hehi,count = re.subn('d+','KKK',oringin)
    print(hehi,count)
    #sfbdfjkbdkfKKKgdsdjgndjgbkjKKKssjfKKKdjkfb 3
  • 相关阅读:
    hdu 5025 bfs+状压
    hibernate的saveOrUpdate方法
    jsp中使用css选择器与<c:foreach>标签的问题
    5- js 正则的方法
    cookie存储的值
    word中目录的灰色是怎么回事?
    css三角形
    windows下,OracleServiceXXX和Oracle 实例的关系
    echo的功能
    myeclipse 删除不再使用的工作空间记录
  • 原文地址:https://www.cnblogs.com/Erick-L/p/6404156.html
Copyright © 2011-2022 走看看