Javascript REGEX从网址获取5个字符

时间:2014-07-02 22:48:56

标签: javascript regex

如何编写正则表达式以从下面的网址获取5个字符 572f0

我构建的正则表达式是 dep_id =([^&] *),但这假定会有一个&在值之后,我想在 dep_id =

之后总是匹配并检索5个字符

https://test.com/Chat/test?language=en_US#dep_id= 572f0 &安培; org_id = 00Df0&安培;

3 个答案:

答案 0 :(得分:3)

不是正则表达式,但是

var x = "https://test.com/Chat/test?language=en_US#dep_id=572f0&org_id=00Df0&"
x.split("dep_id=")[1].substr(0,5)

答案 1 :(得分:2)

如果你想匹配5个字符:

/dep_id=(.....)/

/dep_id=(.{5})/

如果你想匹配到&或结束:

/dep_id=([^&]+)/

您的初始正则表达式实际上完全有效:它不需要&跟随。它需要一切,直到&或结束......

答案 2 :(得分:1)

要直接检索五个字符,请使用:

var myregex = /dep_id=([^#&\s]{5})/m;
var match = myregex.exec(str);
if (match != null) {
    result = match[1];
} else {
    result = "";
}

<强>解释

  • dep_id=匹配文字字符
  • ([^#&\s]{5})向第1组捕获不是&的五个字符,网址片段分隔符#或空格

直接从Group 1捕获中检索字符。