首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么这个正则表达式在映射到哈希时不起作用?

为什么这个正则表达式在映射到哈希时不起作用?
EN

Stack Overflow用户
提问于 2013-09-02 05:59:48
回答 1查看 264关注 0票数 1

很奇怪为什么这不管用。我经历过许多不同的排列,但总的来说,这是我想要做的,但无法让它发挥作用。

基本上,使用散列键查找匹配项,然后使用该键获得带有散列引用的值。

代码语言:javascript
复制
 var arr = {'blah':'WULLVERT','misc':'DUDETTER'};
 var test_string = "maryLou is misc &&& such a cool mary blah dude yeah wullvert";
 test_string = test_string.replace(/(jQuery.map(reg,function(k,v){return v}).join("|"))/gi,arr["$1"]);
 test_string;

当然,当我使用字符串的时候..。这是可行的:(尽管仍然不能使用$1作为哈希引用)。

代码语言:javascript
复制
     test_string = test_string.replace(/(blah|msic)/gi,"$1_proofofconcept");
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-02 06:07:03

使用new RegExp(..)动态生成正则表达式对象。

代码语言:javascript
复制
var arr = {'blah':'WULLVERT','misc':'DUDETTER'};
var test_string = "maryLou is misc &&& such a cool mary blah dude yeah wullvert";
test_string.replace(
    new RegExp(jQuery.map(arr,function(v,k){return k}).join("|"), 'gi'),
    function(x) { return arr[x]; }
);
// => "maryLou is DUDETTER &&& such a cool mary WULLVERT dude yeah wullvert"
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18566520

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档