Shell 常用正则表达式

Shell 常用正则表达式

记录下常用的一些shell使用到的正则表达式
注:
基础正则表达式:BRE(basic regular express)
扩展正则表达式:ERE(extend regular express),扩展的表达式有+、?、|和() 下面是一些常用的正则表达式符号

符号描述示例
.匹配除换行符(\n)之外的任意单个字符匹配 123:
echo -e “123\n456” |grep ‘1.3’
^匹配前面字符串开头匹配以 abc 开头的行:
echo -e “abc\nxyz” |grep ^abc
$匹配前面字符串结尾匹配以 xyz 结尾的行:
echo -e “abc\nxyz” |grep xyz$
*匹配前一个字符零个或多个匹配 x、xo 和 xoo:
echo -e “x\nxo\nxoo\no\noo” |grep “xo*”
x 是必须的,批量了 0 零个或多个
+匹配前面字符 1 个或多个匹配 abc 和 abcc:
echo -e “abc\nabcc\nadd” |grep -E ‘ab+’
匹配单个数字:echo “113” |grep -o ‘[0-9]’
连续匹配多个数字:echo “113” |grep -E -o ‘[0- 9]+’
?匹配前面字符 0 个或 1 个匹配 ac 或 abc:
echo -e “ac\nabc\nadd” |grep -E ‘a?c’
[ ]匹配中括号之中的任意一个字符匹配 a 或 c:
echo -e “a\nb\nc” |grep ‘[ac]’
[ .-.]匹配中括号中范围内的任意一个字符匹配所有字母:
echo -e “a\nb\nc” |grep ‘[a-z]’
[^]匹配[^字符]之外的任意一个字符匹配 a 或 b:
echo -e “a\nb\nc” |grep ‘[^c-z]’
匹配末尾数字:echo “abc:cde;123” |grep -E ‘[^;]+$’
^[^]匹配不是中括号内任意一个字符开头的行匹配不是#开头的行:
grep ‘^[^#]’ /etc/httpd/conf/httpd.conf
{{n}或{n,}匹配花括号前面字符至少 n 个字符匹配 abc 字符串(至少三个字符以上字符串): echo -e “a\nabc\nc” |grep -E ‘[a-z]{3}’
{n,m}匹配花括号前面字符至少 n 个字符,最多 m 个字符匹配 12 和 123(不加边界符会匹配单个字符): echo -e “1\n12\n123\n1234” |grep -E -w -o ‘[0- 9]{2,3}’
\<边界符,匹配字符串开始匹配开始是 123 和 1234:
echo -e “1\n12\n123\n1234” |grep ‘<123’
\>边界符,匹配字符串结束匹配结束是 1234:
echo -e “1\n12\n123\n1234” |grep ‘4>’
( )单元或组合:将小括号里面作为一个组合
分组:匹配小括号中正则表达式或字符。\n 反向引用,n 是数字,从 1 开始编
单元:匹配 123a 字符串
echo “123abc” |grep -E -o ‘([0-9a-z]){4}’
分组:匹配 11
echo “113abc” |grep -E -o ‘(1)\1’
匹配出现 xo 出现零次或多次:
echo -e “x\nxo\nxoo\no\noo”

后续再补上

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值