您的位置:首页 > 运维架构 > Shell

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

2020-06-05 09:23 155 查看

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 #指代第一个子表达式匹配到的模式,这就是逆向引用

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: