正则表达式基本用法

一个正则表达式是由普通字符和特殊字符组成的文字模式,将某个字符模式与所搜索的字符串进行匹配。简单的说,就是用来搜索匹配的一个很好的工具。

 正则表达式分为:基本正则表达式和扩展正则表达式两类


基本正则表达式的元字符如下:
  . :匹配任意单个字符
   *:匹配前一个字符的任意次
  .*:任意长度的任意字符
  []:指定范围内的任意单个字符

  a\{m,n\}:a这个字符至少出现m次,最多出现n次
  a\{m,\}:a这个字符至少出现m次,
  a\{0,n\}:a这个字符最多出现n次
  ?:匹配前一个字符出现0次或1其次

锚定符:
  
     ^:锚定行首
    $:锚定行尾
   ^$:锚定空白行
   \<:锚定词首
   \>:锚定词尾
引用:
  \(\) 
 
接下来给每个元字符配备一个例子
.
上图“  . ”  匹配任意单个字符,root,r/ft中的o、/、f,都属于任意单个字符

*
上图星号“ * ”匹配b任意次,也可以是0次,如图中的ac

.*
上图是以r开头t结尾,中间是任意字符
第一行开头就是root,已经匹配完了,但是最后又以t结尾,这个称为贪婪模式,尽量匹配到最长

上图表示以r开头以t结尾中间为任意小写字母

    \{m,n\}
表示图上 b 至少显示 1 次,最多显示两次的行

\{m,\}
     上图表示以r开头t结尾,中间的小写字母至少出现两次的行

\{0,n\}
表示b至少出现0次,最后出现2次的行
grep的选项
     -v:  对结果去反
例: 
这个是空白至少出现1次的,图中红色标记都是空白
反之  -v  :grep  -v  "[[:space:]]\{1,\}"  /etc/passwd

锚定符:
^:
上图中显示以root开头的行
 
$:
显示以n结尾的行

^$:
显示空白行
 
\<:
显示以r开头的单词

\>:
显示以r结尾的单词

\(\):
上图a为文件    1用来匹配括号里的l..e  
表示以l..e开头后面跟任意字符任意次,并且以r结尾的行

扩展正则表达式元字符:
    ( )
    {}
    +: 次数匹配,匹配其前的字符至少1次;
    |:或者 

使用扩展正则表达式格式必须为grep  -E   或者egrep 

( ):
和正则表达式中的\(\)效果一样

{}:
    
    和 \{m,\} 效果一样

+:

匹配b至少出现一次
 
|:
显示以d或D开头的dog 
 
END  

你可能感兴趣的:(正则表达式)