2020-04-27shell的正则表达式

1.字符集和单词
.at #.可以用于匹配除换行符之外的任意一个字符
[a-z]at #[]表示指定字符集
[a-zA-Z] #表示匹配所有英文字母
[0-9] #表示数字
“<” “>” #表示分隔符,能够严格地匹配一个单词

2.字符类
POSIX风格的正则表达式提供了预定义字符类
[[:alnum:]] #文字,数字字符
[[:alpha:]] #字母字符
[[:lower:]] #小写字母
[[:upper:]] #大写字母
[[:digit:]] #小数
[[:xdigit:]] #十六进制小数
[[:punct:]] #标点符号
[[:blank:]] #制表符和空格
[[:space:]] #空格
[[:cntrl:]] #所有控制符
[[:print:]] #所有可打印的字符
[[:graph:]] #除空格外所有可打印的字符

3.位置匹配
^ #匹配行首
$ #匹配行尾

4.字符转义
\

5.重复
* #重复0次或更多次
+ #重复一次或更多次
? #重复0次或一次
{n} #重复n次
{n,} #重复n次或更多次
{n,m} #重复不少于n次,不多于m次

6.子表达式
(or){2,} #匹配or重复两次或更多次的行,括号即为子表达式也称分组

7.反义
[^y] #匹配除了字母y的任何字符

8.分支
| #表示"或"

9.逆向引用
例:(<.>).?( )\1
(<.>) #匹配任意长度的单词,第一个子表达式
.? #匹配0个或1个标点符号
( )
#匹配0个或多个空格,第二个子表达式
\1 #指代第一个子表达式匹配到的模式,这就是逆向引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值