0

URL 可以是以下之一:

http://spappsdev.domain.com/sites/sitename/
http://spappsdev/sites/sitename/

我想以一种适用于两个 URL 的方式提取“spappsdev”。这甚至可能吗?我讨厌不得不运行两个正则表达式命令。

4

2 回答 2

0

尝试使用环顾四周

^https?://\K[^/\.]+

或者 :

(?<=://)[^/\.]+

在 shell 中使用的一个真实示例:

$ perl -lne 'm!(?<=://)[^/\.]+! and print $&' file
spappsdev
spappsdev

要将结果分配给 shell 变量:

$ var="$(perl -lne 'm!(?<=://)[^/\.]+! and print $&' file)"
$ echo "$var"
于 2014-12-01T21:41:33.877 回答
0

您可以使用:

\bhttps?:\/\/([^\/.]+)

并抓住匹配组#1

正则表达式演示

于 2014-12-01T21:42:25.457 回答