正则表达式

符号 意义

* 0个或多个在*字符之前那个普通字符

. 匹配任意字符

^ 匹配行首或后面字符的非

$ 匹配行尾

[] 匹配字符集合

转义符,屏蔽一个元字符的特殊意义

\<\> 精确匹配符号

\{n\} 匹配前面字符出现n次

\{n,\} 匹配前面字符至少出现n次

\{n,m\} 匹配前面字符出现n次与m次之间


*符号用于匹配前面一个普通字符的0次或多次重复 hel*o: *符号前面的普通字符是l,*字符就表示匹配l字符0次或多次,如字符串helo、hello、hellllllo都可以由hel*o来表示 .符号用于匹配任意一个字符 
„73.表示前面三个字符为任意字符,第4和第5个字符是7和3,最后一个字符为任意字符,如xcb738、4J973U都能匹配上述字符串 
^符号用于匹配行首,表示行首的字符是^字符后面的那个字符 
^cloud表示匹配以cloud开头的行 
$符号匹配行尾,$符号放在匹配字符之后a、b、1、2等字符属于普通字符,普通字符可以按照字面意思理解,如:a只能理解为英文的小写字母a,没有其他隐藏含义。 micky$表示匹配以micky结尾的所有行 
^$  表示空白行 
[]匹配字符集合,该符号支持穷举方法列出字符集合的所有元素 [0123456789]、[0-9]„„ 
[A-Za-z] [A-Za-z]*  匹配所有英文单词 
\符号是转义符,用于屏蔽一个元字符的特殊意义 \.   \$   \^ 
\<\>符号是精确匹配符号,该符号利用\符号屏蔽<>符号 
\<the\>  精确匹配单词the,them, they等不匹配 \{\}系列符号表示前一个字符的重复 
\{n\}:匹配前面字符出现n次 ,如 JO\{3\}B 匹配JOOOB 
\{n,\}:匹配前面字符至少出现n次,如JO\{3,\}B匹配JOOOB、JOOOOB、JOOOOOB等字符串 
\{n,m\}:匹配前面字符出现n次与m次之间,如JO\{3,6\}B匹配JOOOB、JOOOOOOB等字符串 
[a-z] \{5\}: 匹配5个小写英文字母,比如hello、house等 



awk和Perl等Linux工具还支持正则表达式扩展出来的一些元字符,这些元字符如下表所示 

 符号   意义 
? 匹配0个或1个在其之前的那个普通字符 

+ 匹配1 个或多个在其之前的那个普通字符 

() 表示一个字符集合或用在expr 中 
| 表示“或”意义,匹配一组可选的字符 
通配(globbing)是把一个包含通配符的非具体文件名扩展到存储在计算机、服务器或者网络上的一批具体文件名的过程 
最常用的通配符包括正则表达式元字符:?、*、[]、{}、^等,通配符与元字符意义不完全相同: 
*符号不再表示其前面字符的重复,而是表示任意位的任意字符 
?字符表示一位的任意字符 
^符号在通配中不代表行首,而是代表取反意义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值