Regex grep和sed的不同匹配结果

Regex grep和sed的不同匹配结果,regex,bash,shell,sed,grep,Regex,Bash,Shell,Sed,Grep,我使用以下正则表达式来匹配github repo路径: :/ 但是,我从grep和sed得到了不同的匹配结果: $ sed -nr 's|[:/]([^/]+/[^/]+)$|\1|' <<< 'https://github.com/myuser/myrepo' $ sed -nr '/[:\/]([^\/]+\/[^\/]+)$/p' <<< 'https://github.com/myuser/myrepo' $ grep -Eo '[:/]([^

我使用以下正则表达式来匹配github repo路径: :/ 但是,我从
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-nr的|[:/]([^/]+/[^/]+)$|\1 |'如果您想要与您的
grep
命令等效的
sed
,请使用:

sed -r 's#^.*([:/][^/]+\/[^/]+)$#\1#' <<< 'https://github.com/myuser/myrepo'
/myuser/myrepo
sed-r的#^.*([:/][^/]+\/[^/]+)$#\1#'