【发布时间】:2019-12-13 21:44:43
【问题描述】:
我想从uri中提取域名。
例如,正则表达式的输入可能是以下类型之一
在所有情况下,输入都应该返回 test.net
下面是为我的目的而实现的代码
val re = "([http[s]?://[w{3}\\.]?]+)(.*)".r
但我没有得到预期的结果
下面是我的输出
val re(prefix, domain) = "https://www.test.net"
前缀:字符串 = https://www.t
域名:String = est.net
我的正则表达式有什么问题,我该如何解决?
【问题讨论】:
-
“www”后面的点应该被转义。此外,加号之前的整个内容都有方括号
-
好的,我更新了还是一样的错误
-
而且您仍在使用方括号,而您应该使用括号。方括号仅匹配其中 1 个字符,而括号匹配整个组。我不明白你的正则表达式,但这至少应该让你更进一步:“(http(s)?://(w{3}\\.)+?)([^.]*)”跨度>
-
val re(prefix, domain) = "https://www.test.net" prefix: String = https://www.t domain: String = est.net上方的正则表达式仍然有同样的错误 -
所以您的域名就是“www”之后的所有内容。对?是的
标签: scala