【发布时间】:2015-02-08 06:13:40
【问题描述】:
我正在使用以下正则表达式来匹配 github 存储库路径:
:/
但是,我从grep 和sed 得到不同的匹配结果:
$ sed -nr 's|[:/]([^/]+/[^/]+)$|\1|' <<< 'https://github.com/myuser/myrepo'
$ sed -nr '/[:\/]([^\/]+\/[^\/]+)$/p' <<< 'https://github.com/myuser/myrepo'
$ grep -Eo '[:/]([^/]+/[^/]+)$' <<< 'https://github.com/myuser/myrepo'
/myuser/myrepo
这两个命令的结果不应该是等价的吗(sed 省略前导 [:/] 除外)?
grep: grep (BSD grep) 2.5.1-FreeBSD
sed: sed (GNU sed) 4.2.2
操作系统:Mac OSX 10.9.5
【问题讨论】: