***基本正则表达式(可支持grep,sed,awk等shell工具)
* 0个或多个在*字符前面的那个普通字符 . 匹配任意字符 ^ 匹配行首,或后面字符是非 $ 匹配行尾
[]匹配字符集合 转义符,屏蔽一个元字符的特殊意义 &;&; 精确匹配符号 {n} 匹配前面字符出现n次 {n,} 匹配前面字符至少出现n次 {n,m} 匹配前面字符出现n~m次
注意:符号*前面必须至少有两个字符(当符号*后面没有字符时)或必须*前面至少有一个字符(当符号*后面至少有一个字符时)才有意义 符号.前后必须同时有字符才有意义 []使用时前面
1.符号* 0个或多个在*字符前面的那个普通字符 例子 hel*o hel*o 可以是heo,helo,hello,helllo可以可以出现0到无穷次
2.字符 . 匹配任意字符 例子 .7 .7 首先这是两个字符,其中后面一个字符是7,而前面一个字符是任意一个键盘上可以输出的字符 ...7 这是4个字符,最后一个还是7,前面3个字符是任意一个键盘上可以输出的字符
综合 hel*o. 这个表示heo后面任意一个字符 helo后面任意一个字符 hello后面任意一个字符
hel.*o 这个就表示以hel开头,o结尾的任意字符都可以匹配
3.符号^ 匹配行首,或后面字符是非 例子 ^cloud ^cloud 这个表示行首的字符是cloud的行都会被匹配
综合 ^h.*o 表示必须以行首h开头以o结尾中间任意字符
4.符号$ 匹配行尾 例子 hel$ 表示必须以hel作为行尾 综合 ^h.*o$ 表示以h为行首以o为行尾中间任意字符 ^$ 表示为空 ^hjo$ 表示行首位h,行尾为o中间为j进行匹配,也就是说这一个只有hjo才会被匹配
5.符号[] 匹配字符集合 例子1.穷举 [123456789] 表示匹配任意一个数字 例子2.-的使用(范围) [1-9] 表示匹配任意一个数字 [a-z] 匹配任意一个小写字母 [A-Z] 匹配任意一个大写字母
[^] ^在[]里表示取反 例子[^b-d] 表示匹配不在b到d之间的所有字符 综合 [A-Za-z] [A-Za-Z]* 匹配所有的英文单词 [A-Za-z1-9] [A-Za-z1-9]* 匹配所有的英文单词和数字
6.符号 转义符,屏蔽一个元字符的特殊意义 * 匹配*字符,
7.符号&;&; 精确匹配符号 屏蔽<> 例子&;the&; 匹配the单词而不是含有the的单词或行
8.{}系列符号 匹配前面字符重复出现的次数 {n} 匹配前面字符出现n次 例子 a{4} 匹配aaaa
{n,} 匹配前面字符至少出现n次 例子 a{2,} 匹配aa,aaa,aaaa ......
{n,m} 匹配前面字符出现n~m次 a{2,4} 匹配aa,aaa,aaaa
综合 [a-z]{5} 匹配5个小写字母
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
扩展正则表达式(支持awk,perl等工具) ? 匹配0个或1个在其之前的那个普通字符 + 匹配1个或多个在其之前的那个普通字符 () 表示一个字符集合或用在表达式中 | 表示“或”,匹配一组可选的字符
1.符号? 例子 jo?b 匹配job joob
2.符号+ 例子 s+eu 匹配sseu ssseu......
3.符号() 和符号| 表示一组可选字符的集合 例子 re(a|e|o)d 匹配 read reed reod
4.符号| re1|re2|re3...
+++++++++++++++++++++++++++++++++++++++++++++++
通配(支持bash shell) 符号* 表示任意位的任意字符 符号? 表示一个任意字符 符号^ 表示取反 符号[] 表示字符集合 符号[^] 表示取反字符集合 符号{} 表示一组表达式的集合
1.符号* 例子 ls a* 查看所有以a开头的文件
2.符号? 例子 ls a? 查看以a开头的包含2个字符的文件
3.符号[] 例子 ls a[1-10] 查看a1.a2...a10 ls a[a-z]* 查看以a开头的含有小写字母的文件 4.符号[^] 例子 ls a[^1-2] 查看不含有a1,a2的所有文件
5.符号{} 例子 ls a{[^1-2],a?,b*} 查看不包含a1,a2,的所有文件 或查看文件a和aa,或查看所有以b开头的文件 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|