shell——正则表达式

原文链接:https://blog.csdn.net/CSDN_dzh/article/details/85010236
原文链接:https://www.jb51.net/tools/shell_regex.html

基本正则和扩展正则
正则表达式 描述 示例
\ 转义符
^ 匹配行首
$ 匹配行尾
. 匹配除换行符\n之外的任意单个字符
[] 匹配包含在[字符]之中的任意一个字符
[^] 匹配[^字符]之外的任意一个字符
[-] 匹配[]中指定范围内的任意一个字符
? 匹配之前的项1次或者0次
+ 匹配之前的项1次或者多次
* 匹配之前的项0次或者多次
() 匹配表达式,创建一个用于匹配的子串
{n} 匹配之前的项n次,n是可以为0的正整数
{n,} 之前的项至少需要匹配n次
{n,m} 指定之前的项至少匹配n次,最多匹配m次,n<=m
| 交替匹配|两边的任意一项
元字符正则
正则表达式 描述 示例
\b 单词边界 \bcool\b 匹配cool,不匹配coolant
\B 非单词边界 cool\B 匹配coolant,不匹配cool
\d 单个数字字符 b\db 匹配b2b,不匹配bcb
\D 单个非数字字符 b\Db 匹配bcb,不匹配b2b
\w 单个单词字符 (字母、数字与_) \w 匹配1或a,不匹配&
\W 单个非单词字符 \W 匹配&,不匹配1或a
\n 换行符 \n 匹配一个新行
\s 单个空白字符 x\sx 匹配x x,不匹配xx
\S 单个非空白字符 x\S\x 匹配xkx,不匹配xx
\r 回车 \r 匹配回车
\t 横向制表符 \t 匹配一个横向制表符
\v 垂直制表符 \v 匹配一个垂直制表符
\f 换页符 \f 匹配一个换页符
\0 空值符
命令 描述
grep 默认不支持扩展表达式,加-E选项开启 ERE。如果不加-E使用花括号要加转义符{}
egrep 支持基础和扩展表达式
awk 支持egrep所有的正则表达式
sed 默认不支持扩展表达式,加-r 选项开启 ERE。 如果不加-r 使用花括号要加转义符{}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章