zoukankan      html  css  js  c++  java
  • 3.2.2.4 文本匹配锚点

        再介绍两个 mate 字符就能完成整个 BRE 的介绍了。这两个 meta 字符是脱字符号(^)与货币符号($),它们叫做锚点(anchor),因为其用途在限制正则表达式匹配时,真对要被匹配字符串的开始或结尾进行匹配(^在此处的用法与方括号表达式里的完全不同)。假定现在有一串要进行匹配的字:abcABCdefDEF ,以下标列举匹配范例:
     
        正则表达式内锚点的范例
     
    模式
    是否匹配
    匹配文本(粗体)/ 匹配失败的理由
    ABC 居中的第4、5及6个字符:abcABCDEFdefDEF
    ^ABC 限定匹配字符串的起始处
    def 居中的第7、8及9个字符:abcABCDEFdefDEF
    def$ 限制匹配字符串的结尾处
    [[:upper:]]{3} 居中的第4、5及6个字符:abcABCDEFdefDEF
    [[:upper:]]{3}$ 居中的第10、11及12个字符:abcABCDEFdefDEF
    ^[[:alpha:]]{3} 起始的第1、2及3个字符:abcABCdefDEF
     
        ^与$也可同时使用,这种情况是将括起来的正则表达式匹配整个字符串(或行)。有时^$这样简易正则表达式也很好用,它可以用来匹配空的字符串或行列。例如在 grep 加上 -v 选项可以用来显示所有不匹配与模式的行,使用上面的做法,便能过滤掉文件里的空行。
        cc -E foo.c | grep -v '^$' > foo.out             预先删除空行
     
        ^与$ 仅在BRE的起始与结尾处具有特殊用途。若出现在字符串中间则表示自身。
  • 相关阅读:
    pug模板引擎(原jade)之 分支条件
    pug模板引擎(原jade)之 属性
    hosts的作用
    typeScript 之 (7) 构造函数和this
    typeScript 之 (8) 继承,重写,super
    typeScript 之(6) 类的简介
    MySQL:一条更新语句是如何执行的
    Centos7 使用 Kubeadm 搭建 k8s 集群
    HTTP Keep-Alive模式客户端与服务器如何判定传输完成
    MySQL:一条SQL是如何执行的
  • 原文地址:https://www.cnblogs.com/avention/p/10307121.html
Copyright © 2011-2022 走看看