永发信息网

用JS正则匹配首尾是特定字符的字符串

答案:2  悬赏:10  手机版
解决时间 2021-02-11 14:05
用JS把符合以abc="开头,以遇到的第一个"结尾的字符替换为空,正则白痴求助................
最佳答案
楼上基本是对的,但是有点小错
str.replace(/^abc="[^"]*/img,'abc="')
全部回答

var a='<div><a><img src="file:///c:/ssd/ads.jpg"></a></div>';

 while (/(file\:\/\/\/[^\/]*)\/(.*\")/.test(a)) 

        a = a.replace(/(file\:\/\/\/[^\/]*)\/(.*\")/, "$1\\$2");

  

这样可以替换file:///开头,以"结尾的字符串中的所有/符号了,由于要匹配file:///开头,以"结尾, 正则中必须在开始加上file\:\/\/\/ 结尾加上\".而加上了这,replace方法的时候就算正则加上g,也是只替换一次了.所以加个while循环.就可以全部替换了.不过正则还不能定义为变量.定义了变量,下面用变量的话,还是只替换一次,这我也不清楚是为什么了,可能跟js中正则表达式对象的某些属性有关吧.

不太懂js,就学了四天...

这种情况最好把中间这串拿出来 替换好再放回去 如下

var a='<div><a><img src="file:///c:/ssd/ads.jpg"></a></div>';

      var re = /file\:\/\/\/.*\"/;      

      var b = re.exec(a)[0];       //拿到整个字符串中以file:///开头,以"结尾的字符串

      b = b.replace(/\//g, "\\"); //把拿到的字符串中的/全部替换成\

      b = b.replace(/file\:\\\\\\/, "file:///");

      a = a.replace(re, b); 

第一种的那个没问题的.第二个仔细看了下,是我大意了,加上一句 b = b.replace(/file\:\\\\\\/, "file:///");就好了,不过感觉比第一种麻烦了.用第一种的那个就好了

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
据史料记载,罗马元老院通过了一条法案:“除
为什么iphone6充电时说不支持此配件,手机新
华通锅炉配件在哪里啊,我有事要去这个地方
【关于秋天作文】关于秋天的作文按时间顺序写
豹纹陆地龟冬天养殖方法?
“连衣裙”用英文怎么写?
脸大黑皮肤,没刘海的11岁女孩怎么扎头发?最
南宁哪有学做糕点的学校
进口西洋参需要什么文件
新疆产的瓜果又大又甜的主要原因是B①昼夜温
有初中毕业证和没有的区别?
伟峰wt35/37脚架价格多少
新沂卫校学什么专业
我想转行做it方面的工作 但是没基础什么都不
电脑平车不会自动剪线倒针怎么修
推荐资讯
“人生如果错了方向,停止就是进步”对否
别人家的鸭子天天半夜叫。有什么办法能让鸭子
求一部电影的名字! 开着3辆迷你轿车,把黄金
什么水生财,那个成语怎么读
英语四级分数473可以换成100制的多少分
【结婚英语】他们结婚了英文怎麼说theyaremar
天鹅生态园在什么地方啊,我要过去处理事情
永新科创商贸有限责任公司地址在哪,我要去那
rain和rainy
【哗众取宠的近义词】...和玩忽职守意思和近
下列情形中,不属于中国证监会对财务顾问主办
郑恺怎么红起来的 怎么当上明星的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?