正则表达式

     正则表达式是由一类特殊字符所编写的模式,通过这些字符的使用,我们能检索 查找文本中符合某些规则的内容。

正则表达式元字符的分类有:字符匹配,匹配次数,位置锚定,分组等。

     字符匹配

     . : 匹配任意单个字符

     [] : 匹配指定范围内的任意单个字符

     [^] : 匹配指定范围外的任意单个字符

    [:alnum:] 数字和字符

   [:alpha:] 英文大小写字符 a-z A-Z
   [:lower:] 小写字母
   [ :upper:] 大写字母
   [:space:] 专门匹配空格

 注意:这几个使用频率相对较高。


   [:cntrl:] 不可打印的控制字符(退格、删除、警铃…)
  [:digit:] 十进制数字 [:xdigit:]十六进制数字
  [:graph:] 可打印的非空白字符
  [:print:] 可打印字符
  [:punct:] 标点符号

 注意:这几个使用频率相对较低。

   匹配次数

* 匹配前面的字符任意次,0 到无穷
.* 任意字符出现任意次,比如说 123 456 abc (这个使用频率很高,很重要)
a* a字符出现任意次   aaaa aa
[[:lower:]]* 任意小写字母出现任意次
\? 匹配前面的字符出现0次或者1次  
a\? 出现0次或者1次
\+ 匹配前面的字符至少1次  
    a\+ a至少出现1次
\{n\} 前面的字符出现n次 
   [0-9]\{3\} 000-999

\{m,n\}匹配前面的字符出现m到n次,m,n是一个范围
  [0-9]\{1,3\} 0-999
\{,n\}匹配前面的字符最多出现n
   [0-9]\{,3\} 最大匹配是999
 \{m,\}匹配前的字符至少出现m次
   [0-9]\{3,\} 000 无穷


     位置锚定
      ^ 锚定行首
      $ 锚定行尾
     ^$ 匹配空行的
     ^[[:space:]] 行首是空白的字符
     ^[[:space:]]*$ 也是 空行
     ^a  以a开头的行
     b$  以b结束的行
     ^a.*b$ 以a开头 中间任意字符 以b结尾的行
     ^a.*[[:space:]]\{3\}.*b$ a开头跟任意字符,中间出现三次空格再跟任意字符 以b结尾的行
     ^# 以#开头的行
     例子:cat /etc/profile | grep -v “^#” | grep -v “^$”
      例子: cat /etc/httpd/conf/httpd.conf  | grep -v “^#” | grep -v “^$” 

    \b  \b 匹配词首和词尾 
   \<  \> 匹配词首和词尾
   例子: \broot\b  \<root\>  锚定root这个单词,不会匹配例如root123之类的单词


      分组 
 将匹配规则分成不同的组 使用 1 2 3..等数字去标识,便于后面使用同样规则的时候可以直接饮用
   \(root\)\+\1 注意:这种使用方法比较常用

   \(string1\+\(string2\)*\) 
   \1  string1\+\(string2\)*
   \2  string2

 或者 |
  a \| b
  C \| cat

原创文章,作者:fsy,如若转载,请注明出处:http://www.178linux.com/72664

(0)
上一篇 2017-04-06 19:27
下一篇 2017-04-06 21:49

相关推荐

  • mysql5.6 GTID的实现以及maridb 10.9多主一从的架构

    一、MySQL 5.6 以后出现的GTID:     GTID概念:          1. GTID是一个由服务器的UUID和事务序号组成的唯一事务序号       &…

    Linux干货 2015-12-18
  • Nginx基础整理

    目录结构如下: Nginx基础知识Nginx HTTP服务器的特色及优点 Nginx的主要企业功能 Nginx作为web服务器的主要应用场景包括: Nginx的安装安装环境 快速安装命令集合 各个命令解释 脚本 注意 安装故障总结故障一:没有安装pcre或pcre-devel 故障二:没有安装openssl和openssl-devel 常用的Nginx ht…

    Linux干货 2017-08-29
  • Mogilefs使用Nginx实现代理访问

    MogileFS介绍:  MogileFS是一个开源的分布式文件存储系统,由LiveJournal旗下的DangaInteracitve公司研发。可支持文件自动备非的功能,提供高可用性和高可扩展性。 MogileFS组件:  trackers:   MoglieFS的调度器,是mogileFS的核心,访问入口。  功能…

    Linux干货 2015-08-06
  • Linux程序包管理rpm

    CentOS系统上rpm命令管理程序包: 安装、卸载、升级、查询、校验、数据库维护  安装: rpm {-i|–install} [install-options] PACKAGE_FILE … -v: verbose -vv: -h: 以#显示程序包管理执行进度;每个#表示2%的进度  rpm -ivh PACK…

    Linux干货 2015-06-21
  • 2016-08-12博客作业

    德摩根定理       在命题逻辑和逻辑代数中,德摩根定律(或称德摩根定理)是关于命题逻辑规律的一对法则。奥古斯塔斯·德摩根首先发现了在命题逻辑中存在着下面这些关系: 非(P 且 Q)=(非 P)或(非 Q) 非(P 或 Q)=(非 P)且(非 Q)     …

    Linux干货 2016-08-15
  • MAN手册各章节功能介绍及快捷键键位整理

       初学linux ,请教别人的时候,遇到人不耐烦回答我等菜菜的问题,都会说一句,“自己去man”,“翻过man了吗,再来问吧”,哦,my gd,这个man到底是何方超人啊,其实man就是linux自带的文档,假如你不知道ls这个命令的用法,你可以试着敲入 man  ls  ,然后来看看,会有啥结果。效果不错吧,一般…

    Linux干货 2016-10-18