正则表达式

一、基本正则表达式

 

*   前面的字符出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等。

\{\n,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等

posted @ 2019-07-14 10:58  97lzc  阅读(133)  评论(0编辑  收藏  举报