如何编写正则表达式以从下面的网址获取5个字符 572f0 ?
我构建的正则表达式是 dep_id =([^&] *),但这假定会有一个&在值之后,我想在 dep_id =
之后总是匹配并检索5个字符https://test.com/Chat/test?language=en_US#dep_id=的 572f0 &安培; org_id = 00Df0&安培;
答案 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捕获中检索字符。