Linux shell正则表达式的问题

关于sed命令中使用正则表达式,我有以下一些疑问。这里有两个例子。$echothisisanexample|sed's/\w\+/[&]/g'[this][is][an]... 关于sed命令中使用正则表达式,我有以下一些疑问。
这里有两个例子。
$ echo this is an example | sed 's/\w\+/[&]/g'
[this] [is] [an] [example]
$ echo seven EIGHT | sed 's/\([a-z]\+\) \([A-Z]\+\)/\2 \1/'
EIGHT seven

我的问题是,在这两个例子中,+的前面都有一个\,而如果去掉了这个\,sed命令的匹配是不成立的。
$ echo this is an example | sed 's/\w+/[&]/g'
this is an example

而在egrep命令中,则并非如此。
$ egrep this is an example | egrep -o " ?[a-z]+ ?"
this
is
an
example

想问问,\符号在sed命令中的作用是什么呢?为什么会这样呢?谢谢大家~
展开
 我来答
梦里寻你我他
2013-06-24 · TA获得超过2199个赞
知道大有可为答主
回答量:2171
采纳率:42%
帮助的人:1211万
展开全部
\w+的意思是数字和字母的字串
而你后一个用的是[a-z]+小写字母的字串

其实上面那个\w ,你也可以写成[a-zA-Z0-9_]+
效果是一样的
xu水冰淼
2013-06-24
知道答主
回答量:40
采纳率:0%
帮助的人:17.6万
展开全部
我也听听学一下。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式