多个URL的正则表达式

时间:2011-08-15 12:26:39

标签: javascript regex

我正在尝试创建一个与以下内容匹配的正则表达式:

http://myurl.com/en/something

我需要它完全匹配http://myrurl.com部分然后匹配“en”的2个字符代码,然后是之后的任何内容。什么押注正则表达式?

3 个答案:

答案 0 :(得分:3)

怎么样;

var m = s.match(/(http:\/\/myurl.com\/)([a-z]{2})(\/.*)/i);

if (m) {
   print (m[1]);
   print (m[2]);
   print (m[3]);
}

>>http://myurl.com/
>>en
>>/something

答案 1 :(得分:0)

试试这个:

(https?://[\w\d-]+\.[\w]+)/([\w\d-]+)/(.*)

答案 2 :(得分:0)

此正则表达式可以匹配URL的许多部分

/^((http[s]?):\/\/)?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+[^#?\s]+)(.*?)?(#[\w\-]+)?$/im 

example = https://www.google.com/dir/1/2/search.html?arg=0-a&arg1=1-b&arg3-c#hash

导致比赛:

1:(https://) - 协议

2:(https) - 协议

3:(www.google.com) - 主持人

4:(/ dir / 1/2 /) - 路径

5:([]) - 路径数组的段

6:(search.html) - 文件

7:(?arg = 0-a& arg1 = 1-b& arg3-c) - 查询

8:(#hash) - 哈希