JS 正则表达式匹配指定字符串

wolf2064 2010-09-02 02:52:10
例如有一串字符串:
str="rea,ter,get,opt,rea,rea,get,opt,ppp,rea,test"

有两个变量:
var sTmp="rea,";var sTMP=",get"


现在想把str中符合两个变量的字符串全部替换成"",正则表达式如何写?
...全文
1546 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuwu8ku 2010-09-02
  • 打赏
  • 举报
回复
str="rea,ter,get,opt,rea,rea,get,opt,ppp,rea,test"
var sTmp="rea";var sTMP="get"
var reg=new RegExp(",?"+sTmp+"[,$]",g);
return str.replace(reg,",");
zouhaifeng2012 2010-09-02
  • 打赏
  • 举报
回复
学习中。。
wolf2064 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 shenzhennba 的回复:]
上面理解错你的意思了,修改一下,

var str="rea,ter,get,opt,rea,rea,get,opt,ppp,rea,test";
var sTmp="rea,";
//var sTMP=",get";
var sTMP="get,";
var v=str.replace(/get\,|rea\,/g,"") ;
alert(str+"\n"+v);

也可以修改……
[/Quote]

var re=new RegExp(sTmp,"g");
str=str.replace(re,"");
var re=new RegExp(sTMP,"g");
str=str.replace(re,"");

这样最简单。。。。

散分。。。
shenzhenNBA 2010-09-02
  • 打赏
  • 举报
回复
上面理解错你的意思了,修改一下,

var str="rea,ter,get,opt,rea,rea,get,opt,ppp,rea,test";
var sTmp="rea,";
//var sTMP=",get";
var sTMP="get,";
var v=str.replace(/get\,|rea\,/g,"") ;
alert(str+"\n"+v);

也可以修改为
var str="rea,ter,get,opt,rea,rea,get,opt,ppp,rea,test";
var sTmp="rea,";
var sTMP=",get";
var v=str.replace(/get|rea/g,"") ;
v=v.replace(/\,\,\,/g,",").replace(/\,\,/g,",");

alert(str+"\n"+v);
wolf2064 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 shenzhennba 的回复:]
var str="rea,ter,get,opt,rea,rea,get,opt,ppp,rea,test";
var sTmp="rea,";
var sTMP=",get";
//现在想把str中符合两个变量的字符串全部替换成""
var v=str.replace(/rea,/g,"\"\"");
v=v.replace(/,get/g,"\"\"");
//var v=……
[/Quote]


怎么在正则表示引入变量呢?

如:
var v=str.replace(/sTmp/g,"\"\"");
v=v.replace(/sTMP/g,"\"\"");
shenzhenNBA 2010-09-02
  • 打赏
  • 举报
回复
var str="rea,ter,get,opt,rea,rea,get,opt,ppp,rea,test";
var sTmp="rea,";
var sTMP=",get";
//现在想把str中符合两个变量的字符串全部替换成""
var v=str.replace(/rea,/g,"\"\"");
v=v.replace(/,get/g,"\"\"");
//var v=str.replace(/\,get|rea\,/g,"") ; //对连着的rea,get 后一个不能去掉
//var v=str.replace(/\,get|rea\,|get/g,"") ; //对连着的rea,get 回出现两个连着的逗号

alert(str+"\n"+v);
wolf2064 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wolf2064 的回复:]
引用 1 楼 wuwu8ku 的回复:
不明白
str.replace(sTmp,"").replace(sTMP,"")
楼主是不是还有什么其他玄机?


主要是想用正则表达式进行过滤左右带有逗号的指定字符串。
[/Quote]
主要是想用正则表达式进行过滤所有带有逗号的指定字符串。
wolf2064 2010-09-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuwu8ku 的回复:]
不明白
str.replace(sTmp,"").replace(sTMP,"")
楼主是不是还有什么其他玄机?
[/Quote]

主要是想用正则表达式进行过滤左右带有逗号的指定字符串。
wuwu8ku 2010-09-02
  • 打赏
  • 举报
回复
不明白
str.replace(sTmp,"").replace(sTMP,"")
楼主是不是还有什么其他玄机?

87,997

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧