如何获得与regexp匹配的表达式
How to get the expression that matched with regexps
我试图得到在regexp中匹配的表达式,这是不清楚的,所以有一些代码让你理解:
while (something) {
mymap[stmt.name] = {v : stmt.var}; //stmt.name is changing on each loop
regexpString += stmt.name+"(.*)|";
}
regexpString = regexpString.slice(0, -1);
regexpE = new RegExp(regexpString, "i");
test = regexpE.exec(somevar);
现在,我想要获得匹配的stmt.name
,以便获得映射中的元素,与mymap[test]
或类似的元素。
有没有办法,或者更好的办法,我没有看到?我不想每次都在每个stmt.name
上循环,这样会很重。
如果我的regexpString
等于http://foo.bar(.*)|https://bar.foo/foobar/(.*)
我希望能够得到http://foo.bar
或https://bar.foo/foobar/
根据我的somevar
变量
为什么不直接捕获它呢?使用
var names = [];
while (something) {
mymap[stmt.name] = {v : stmt.var}; //stmt.name is changing on each loop
names.push(stmt.name);
}
var regexpE = new RegExp("("+names.join("|")+")(.*)", "i");
var test = regexpE.exec(somevar);
var name = test[1],
_var = mymap[name].v;
相关文章:
- JavaScript正则表达式文本与RegExp对象
- javascript RegExp的奇怪行为:相同的正则表达式会产生不同的结果
- javascript正则表达式:使用单词边界将变量传递给regexp
- 当正则表达式与空字符串匹配时,是否可以使用 regexp.exec 循环模拟 string.match
- javascript RegExp 验证 url 表达式
- 使用RegExp的Javascript正则表达式匹配
- javascript regexp不允许我的表达式
- 使用RegExp构造函数的具有可变模式的JavaScript正则表达式
- Javascript RegExp或正则表达式控制
- 何时使用RegExp构造函数vs正则表达式文本
- 调试一个Javascript RegExp正则表达式:验证挂在Amazon URL上
- 如何获得与regexp匹配的表达式
- Javascript RegExp:使用变量创建正则表达式
- TypeScript编译错误-无法选择重载'call'表达式——RegExp.test
- JavaScript正则表达式/速记/与Regexp(字符串)
- JavaScript和正则表达式:字面语法Vs. RegExp对象
- 将本机正则表达式转换为带变量的RegExp对象时出错
- 使用RegExp动态创建正则表达式,并过滤内容
- JavaScript:“新的正则表达式(& # 39;你好# 39;)”和“RegExp(& # 39;你好# 39;)
- 我可以在文本的第二部分中使用regexp表达式的一部分吗?替换功能