javascript - js里正则表达式和replace()的问题?
PHP中文网
PHP中文网 2017-04-11 11:15:49
[JavaScript讨论组]
//字符串
var str='/::Bhello/::|';
//正则
var preg=/

我想得到的结果是/::B">hello/::|">,但现在结果为/::|",要怎么修改呢?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
阿神

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

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

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

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

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

高洛峰

我给你提供一个思路吧,先把img拆开,明显是两个格式相同的img,放在数组中遍历循环就得到了。

ringa_lee

/<img[^>]+alt="([^"]+)/ig

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号