正则表达式

一、基本正则表达式

*   前面的字符出0次到多次

  a*b:匹配b,ab,aab,aaab等

.  匹配任意一个字符

a..b:匹配aaab,acdb,addb等

^:开头字符,或是匹配非

 ^abc :以abc开头

 [^abc] :非abc的其他字符

$:结尾字符

 abc$ :以abc结尾

^$  代表空行

[]:匹配字符集

[a-z]:匹配a-z任意字符

[A-Z]:匹配A-Z任意字符

[A-Za-z]:匹配a-z大小写任意字符

[acde]:匹配a c d e 任意字符

:转义字符

<>:精确匹配

<the>:匹配the

{n}:匹配前面字符出现n次  (awk,sed使用不了,可以使用扩展表达式代替)

acfd{3}:前面d出现三次;就是acfddd。

{n,}  (awk,sed使用不了,可以使用扩展表达式代替)

acfd{3,}:前面d至少出现三次;就是acfddd,acfddddd,adfdddd等。

{ ,m}   (awk,sed使用不了,可以使用扩展表达式代替)

acfd{3,5}:前面d出现3-5次;就是acfddd,acfdddd,adfddddd。

二、扩展表达式

{n} 等于{n}  

{n,} 等于{n,}  

{n,m}等于{n,m}  

|    或    

三、通配符(bash shell使用,awk,grep,sed才支持正则表达式)

? 匹配单个任意字符

 ls a?.csv  匹配ab.csv  as.csv等

 * 匹配0-n个任何字符

ls  a*.csv  匹配 a.csv  adfdsf.csv aref.csv 等

[] 与正则表达式用法一样

ls  [abc].csv  匹配  a.csv b.csv c.csv

{} 或  

ls {a.csv,b?.csv}  匹配 a.csv ba.csv  bd.csv 等

^ 非

ls [^a].csv匹配不是a开头的,匹配b.csv,d.csv,e.csv等

原文地址:https://www.cnblogs.com/97lzc/p/11183412.html