为了账号安全,请及时绑定邮箱和手机立即绑定

js里正则表达式和replace()的问题?

js里正则表达式和replace()的问题?

慕尼黑5688855 2018-10-03 09:10:53
//字符串var str='<img src="https://fhfgjfdh/2.gif" alt="/::B">hello<img src="https://idufid/emotion/3.gif" alt="/::|">';//正则var preg=/<img(.+)alt="/ig;//替换为空str=str.replace(preg,'');我想得到的结果是/::B">hello/::|">,但现在结果为/::|",要怎么修改呢?
查看完整描述

1 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

将正则表达式改为如下即可:

var preg=/<img(.+?)alt="/ig

可知,我仅仅只是在+后面添加了一个?

正则表达式匹配的时候默认采用的是『贪婪模式』,这时(.+)会从第一个<img一直匹配到第二个alt="

添加问号之后,正则表达式匹配模式由『贪婪模式』变为『非贪婪模式』,这时(.+)会从第一个<img匹配到第一个alt=";g表示『全局匹配』,因此(.+)还会匹配第二个<img到第二个alt="


查看完整回答
反对 回复 2018-11-08
  • 1 回答
  • 0 关注
  • 504 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号