木胖子 2021-01-06 09:31 采纳率: 100%
浏览 9
已结题

【linux shell】grep后正则表达式转义符

我有一个a.txt:

xaaay

1.使用grep正则对文件进行搜索:

grep "xa{1,}y" a.txt

什么也搜不出来

2.大括号加转义符

grep "xa\{1,\}y" a.txt 

可以搜出:xaaay

 

不是很懂,{}符号为什么要加转义符才有作用?或者说{}符号有什么特殊意义吗,像"\\"表示\一样?

  • 写回答

2条回答 默认 最新

  • 木胖子 2021-01-06 11:25
    关注

    查了资料,

    grep默认使用基础正则,{}属于扩展正则,默认就是普通字符,需要加转义才认为是正则元字符

    如果不想加转义,可以使用egrep,默认使用的是扩展正则

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月21日
  • 已采纳回答 9月13日