正则表达式详解(三、常用符号的使用)

11 篇文章 0 订阅
本文详细解释了正则表达式中常用的符号、字符类及其应用,如贪婪和懒惰匹配,以及如何通过实例查询特定模式的行。了解[[:alnum:]], [[:lower:]], [[:upper:]]等类别在grep中的使用。
摘要由CSDN通过智能技术生成
符号等同于/举例

. 表示匹配任意单个字符

grep "h.l" regex.txt

* 表示匹配前面的字符任意次,包括0次

[ ] 表示匹配指定范围内的任意单个字符

[^ ] 表示匹配指定范围外的任意单个字符

[^0-9]与[^[:digit:]]等效

[^a-z]与[^[:lower:]]等效

[^A-Z]与[^[:upper:]]等效

[^a-zA-Z]与[^[:alpha:]]等效

[^a-zA-Z0-9]与[^[:alnum:]]等效

[[:alpha:]] 表示任意大小写字母

[a-zA-Z]与[[:alpha:]]等效

[[:lower:]] 表示任意小写字母[a-z]与[[:lower:]]等效
[[:upper:]] 表示任意大写字母[A-Z]与[[:upper:]]等效
[[:digit:]] 表示0到9之间的任意单个数字(包括0和9)[0-9]与[[:digit:]]等效
[[:alnum:]] 表示任意数字或字母[a-zA-Z0-9]与[[:alnum:]]等效
[[:space:]] 表示任意空白字符,包括"空格"、"tab键"等
[[:punct:]] 表示任意标点符号

#简短格式并非所有正则表达式解析器都可以识别   *grep 使用时需要加上-P 选项*

\d 表示任意单个0到9的数字
\D 表示任意单个非数字字符
\t 表示匹配单个横向制表符(相当于一个tab键)
\s表示匹配单个空白字符,包括"空格","tab制表符"等
\S表示匹配单个非空白字符

举例:

要查询以1个大写字母开头,后边是多个小写字母及任意字符,且包含以1-3个数字开头的行

[root@hy ~]# cat regex.txt 
aaa
bbb bb bbbbbb
hello world helloo hello
cccc  cccc cccccccddd
cc dd ccc ccccccrrrr
cc ccc cccc
abc abc abcc abcde
ddd dddddddddd dddd2222
Aabc Dabc123 address
Add Address 11.11.11.110
add Don't warry 110
HELLO 1100 !
Hello 1100 !
Add Address 11.11.11.110a

查询以1-3个数字结尾的行

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值