您的位置:首页 > Web前端 > JavaScript

javascript脚本,正则表达式…

2014-12-19 11:41 197 查看
原文地址:javascript脚本,正则表达式中包含变量的方法作者:1907474397javascript的replace函数可以使用正则表达式来匹配字符串实现替换。

今天遇到的问题是正则表达式出现了变量,以今天的实际情况为例:

/(^'+arr2[i]+'|)|(|'+arr2[i]+'$)/

arr2[i]为数组元素,是变量
str=str.replace(/(^'+arr2[i]+'|)|(|'+arr2[i]+'$)/,'');

使用这种方式无法替换成功,解决办法:

var reg=eval_r('/(^'+arr2[i]+'\|)|(\|'+arr2[i]+'$)/');

str=str.replace(reg,'');

先把正则表达式做为字符串拼接上变量用EVAL转换后再使用。
注意红色标记的部分转义的反斜杆要写成两个,因为EVAL也会进行转义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: