RegEx用于具有不同编号的子域

时间:2014-03-17 11:15:34

标签: javascript regex

使用Javascript RegExp,我尝试匹配以下网址:

http://sub.domain.com/
http://sub1.domain.com/
http://sub100.domain.com/

我尝试了以下正则表达式,它不起作用 - 不确定我做错了什么?

^http\:\/\/sub\d*\.domain\.com\/$

编辑:固定副本&粘贴错误

更新:出于某种原因,document.location.href与正则表达式不匹配 - 即使下面的示例(也在regex101.com上)确实按预期工作。我现在的解决方法 - 我只匹配任何子域。

..非常感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

我不明白你如何比较葡萄和芒果

这是更正后的正则表达式:

 /^http\:\/\/subs\d*\.app\.clicktale\.com\/$/.test("http://subs14.app.clicktale.com/");

立即在您的控制台中运行此命令。

如果您使用search,那么您将获得0,因为您的匹配索引为0

答案 1 :(得分:0)

你展示的子域名有“sub”,但你的REGEX正在寻找“subs”。

此外,无需逃避冒号。

您没有说您是想测试匹配还是实际捕获子域。我会假设后者:

var match = "http://foo.bar.com".match(/https?:\/\/(([^.]+)\.)?/);
alert(match[2]); //"foo"