sed正则表达式中 第二次出现的^ 是什么含义? 还是锚定行首吗?

最近在学sed,提取文件目录基名的时候,例如/etc/rc.d,需要提取rc.d正则命令如下:echo"/etc/rc.d/"|sed-r's@^/.*/([^/]+)/... 最近在学sed, 提取文件目录基名的时候,例如/etc/rc.d, 需要提取rc.d
正则命令如下:
echo "/etc/rc.d/" | sed -r 's@^/.*/([^/]+)/?@\1@g'
小弟有一处不明,就是[]中的^ 到底是什么意思?
^本意是锚定行首,可是在正则表达式中第二次出现^ 这里应该是什么含义? 如何理解?
展开
 我来答
albumin
推荐于2016-08-31 · TA获得超过1.2万个赞
知道大有可为答主
回答量:4889
采纳率:87%
帮助的人:2375万
展开全部
中括号表示字符集,在中括号开头的^表示否定
[^/] 表示除了'/'字符以外的所有字符
在第一二个@中间的是用于匹配的正则
^/.*/([^/]+)/?
(^/]+)匹配字符串中最后一对 /..../(最后的'/'可有可无)中间的内容,在替换中用\1表示
匿名用户
2015-04-13
展开全部
领导许昌,罗平锌电,城里十字
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式