麻烦解释一下Linux下正则表达式元字符\( \)的意思?

luo6620378xu 2011-09-24 12:03:59
如题,可以解释一下这个元字符的含义?
以及给出一个示例吗?
谢谢!
...全文
171 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
子谋 2011-09-27
  • 打赏
  • 举报
回复
通过转义\(\)就会变成普通的()……
简单来讲就是通过\把操作符变成可打印的符号……
正则里的转义字符太多了,就像LZ用的(),它有特殊的含义,并不代表括号本身,但是如果匹配的过程中,LZ正号就是要对()本身进行匹配怎么办呢?就用到了转义字符……
对于\的具体使用,LZ还是看看教程为好,毕竟内容太多了,说不清楚……
yoyo_baba 2011-09-27
  • 打赏
  • 举报
回复
后向引用:匹配于先前匹配的部分
yoyo_baba 2011-09-27
  • 打赏
  • 举报
回复
不是转义哦!
这叫 后向引用 是BRE的用法,ERE里没有
抄个书上的例子
\(why\).*\1 一行里出现两个why
mayer 2011-09-27
  • 打赏
  • 举报
回复
正则表达式中 ( ) 是元字符,即有特殊的意义,但是你如果想匹配字符串中的 "("和" )"怎么办呢,就用这个 转义一下,如果学过C语言,更容易明白转义的意义。
IterZebra 2011-09-27
  • 打赏
  • 举报
回复
这是正则表达式 规范中规定的。所有遵循正则表达式规范的都以此为转义字符。 比如Java、Shell脚本、Perl都是这样的。
qq120848369 2011-09-25
  • 打赏
  • 举报
回复
为什么要转义。。。转义就成普通()对了。
帅得不敢出门 2011-09-24
  • 打赏
  • 举报
回复
正则中有的, 不单是shell中的.
帅得不敢出门 2011-09-24
  • 打赏
  • 举报
回复
http://zhangpingan2005.blog.163.com/blog/static/67229542201089105131672/
xiaoyuer5222 2011-09-24
  • 打赏
  • 举报
回复
找本书看下社
《shell脚本学习指南》里有这样的解释:\( \)
将\(与\)间的模式存储在特殊的'保留空间(holding space)'。最多可以将9个独立的子模式存储在单个模式中。匹配与子模式的文本,可以通过转义序列\1至\9,被重复的使用在相同的模式里。例如\(ab\).*\1指的是匹配与ab组合的两次重现,中间可存在任何数目的字符。

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧