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

    String提供的方法是完全匹配
    引入正则表达式:模糊匹配
    就其本质而言,正则表达式(或 RE)是一种小型的、高度专业化的编程语言,
    (在Python中)它内嵌在Python中,并通过 re 模块实现。
    正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹配引擎执行。
     
    字符匹配(普通字符,元字符):
     
    1 普通字符:大多数字符和字母都会和自身匹配
                  >>> re.findall('alvin','yuanaleSxalexwupeiqi')
                          ['alvin']
     
    2 元字符:. ^ $ * + ? { } [ ] | ( )
       .只能代指一个字符
       ^ 代指从开始匹配
       $ 代指从结尾匹配
       * 重复匹配前一个字符[0,+oo]
       +  [1,+oo]
       ? [0,1]
       {}   自定义匹配个数,也可以是一个区间
        结论: * 等于{0,正无穷}   + 等价于 {1,+oo}   ? 等价于{0,1}  推荐前者,不推荐大括号
       [] 字符集 : 取消元字符特殊功能( ^ - 例外)
            - 在中括号里表示范围连接符  ^ 在[]表示取反匹配
     
      
       元字符之转义符
     
    反斜杠后边跟元字符去除特殊功能,比如.
    反斜杠后边跟普通字符实现特殊功能,比如d
     
    d  匹配任何十进制数;它相当于类 [0-9]。
    D 匹配任何非数字字符;它相当于类 [^0-9]。
    s  匹配任何空白字符;它相当于类 [ fv]。
    S 匹配任何非空白字符;它相当于类 [^ fv]。
    w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。
    W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]
      匹配一个特殊字符边界,比如空格 ,&,#等
     
    () 分组整组匹配
    |  或匹配
     
     
    正则表达式的方法
    findall(): 所有结果都返回到一个列表里
    search(): 返回匹配到的第一个对象,对象可以调用group()返回结果
    match(): 只在字符串开始匹配
    split():
    Autor:VincentAdamNemessis E-mail:vincent5519@yeah.net QQ:3377299629 Wechat:ZTXLoveC3344
  • 相关阅读:
    Linux下python2.7安装pip
    图片转tfrecords
    Python+argparse+notebook
    Pycharm缺少环境变量+无法获取libcudnn.so.6
    Python手动实现k-means
    手动实现二值化
    Tensorflow+InternalError: Blas GEMM launch failed
    tensorflow-gpu+"Failed to create session"
    Ubuntu16.04+wineQQ+解决版本过低
    /usr/lib/nvidia-384/libEGL.so.1 is not a symbolic link
  • 原文地址:https://www.cnblogs.com/VincentAdam/p/851e86704ee8ab14cf8b3b88bd9c482b.html
Copyright © 2011-2022 走看看