• 正则表达注意事项(二)(1000则)


    前言

    该节介绍,注意事项。

    正文

    第一个注意事项是:

    ^ 不仅表示开头项,还表示非的意思。

    比如说我们D,表示是非数字。

    我们可以这样写:

    [^0-9] 或者 [^d]表示非的意思。

    第二个是,注意区分w和D,D表示的是非数字,它有很多东西可以匹配。

    w表示的是字母,数字和下划线。

    也就是说w是[_a-z0-9A-Z]的结合体。

    那么W就是[^_a-z0-9A-Z]。

    关于^的一个灵活应用,比如说你想要非w,而且还附加其他条件。

    那么你可以这样[^w@] 这样就不仅非w而且还非@了。

    第三个:s 匹配的不是空格。
    s 包括:

    1. 空格
    2. 制表符( )
      3.换行符( )
      4.回车符( )

    S对应的是[^ ]

    值得注意的是s不包括所有的空白符,空白符还有:
    f 换行符
    h 水平空白符等。。。

    第四个:
    .并是不是全部的字符。 或者 不是。为什么这么说呢?
    匹配除“ ”之外的任何单个字符。要匹配包括“ ”在内的任何字符,请使用像“(.| )”的模式。

    THE RIME OF THE ANCYENT MARINERE, IN SEVEN PARTS.
    
    ARGUMENT.
    
    How a Ship having passed the Line was driven by Storms to the cold
    Country towards the South Pole; and how from thence she made her course
    to the tropical Latitude of the Great Pacific Ocean; and of the strange
    things that befell; and in what manner the Ancyent Marinere came back to
    his own Country.
    
    I.
    
    1      It is an ancyent Marinere,
    2        And he stoppeth one of three:
    3      "By thy long grey beard and thy glittering eye
    4        "Now wherefore stoppest me?
    

    我用 .* 去匹配,得到的结果是:

    共找到 29 处匹配:
    THE RIME OF THE ANCYENT MARINERE, IN SEVEN PARTS.
    
    
    ARGUMENT.
    
    
    How a Ship having passed the Line was driven by Storms to the cold
    

    我并没有贴出全部的,但是可以说明并不是匹配全部的。
    所有我们匹配单词的时候,尽量不要用.,应该是w{7},用w。

    总结

    该文后续持续更新,如果有坑的话。

  • 相关阅读:
    线性代数学习之初等矩阵和矩阵的可逆性
    线性代数学习之线性系统
    容器远程访问vnc--CentOS 6.8安装和配置VNC
    docker安装-单机/多机安装
    docker aufs存储驱动文件系统
    基于PowerCli自动部署和配置vmvare虚拟机
    使用Kubespray在ubuntu上自动部署K8s1.9.0集群
    python应用-pycharm新建模板默认添加shebang编码作者时间等信息
    python开发基础作业01:模拟登陆系统
    git 添加码云远程仓库和上传到码云的命令
  • 原文地址:https://www.cnblogs.com/aoximin/p/12741404.html
Copyright © 2020-2023  润新知