一、基本正则表达式
* 前面的字符出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等