我想找到与特定网站相对应的维基数据资源。这是我的查询
SELECT DISTINCT ?resource ?instanceOfLabel ?website
WHERE
{
?resource wdt:P856 ?website.
FILTER (REGEX(str(?website), 'http(s)?://(\\w.)?smh.com.au/$')) .
}
}
(链接here) 哪个没有返回任何结果。这不是我期望的,因为
SELECT DISTINCT ?resource ?instanceOfLabel ?website
WHERE
{
?resource wdt:P856 ?website.
FILTER (REGEX(str(?website), 'http(s)?://www.smh.com.au/$')) .
}
(链接here)
答案 0 :(得分:2)
模式\w
(写\\w
以逃避\
)表示一个字母,但您希望三 {{1}我理解的信件。
要匹配三个w
,您应该使用
w
但是,使用'http(s)?://(w{3}.)?smh.com.au/$'
时会出现什么问题?
www
如果你想要任何三个字母,请使用
'http(s)?://(www.)?smh.com.au/$'
也许您只想要'http(s)?://(\\w{3}.)?smh.com.au/$'
以上的任何字母?
0
我想,这个答案可以帮到你:How to represent a fix number of repeats in regular expression?