我正在尝试使用sed清理URL行,以便仅提取域
因此,来自:
http://www.suepearson.co.uk/product/174/71/3816/
我想:
http://www.suepearson.co.uk/
(带或不带尾随斜杠都无所谓)
我试过:
sed的| \(http:\/\/.\/.\).\\\1 |'
and(避开非贪婪量词)
sed的| \(http:\/\/.\?\/\).\\\1 |'
但我似乎无法让非贪婪量词(?)工作,因此它总是匹配整个字符串
基本或扩展Posix/GNU正则表达式都不能识别非贪婪量词;你需要一个更晚的正则表达式。幸运的是,这种上下文的Perl正则表达式非常容易获得:
perl-pe的|(http://.*?/).|\1 |'