javascript - (?=exp)零宽度正预测先行断言,怎么用,为什么出不来效果

查看:40
本文介绍了javascript - (?=exp)零宽度正预测先行断言,怎么用,为什么出不来效果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

'<img abc 123 width="168" height="300"'.match(/(?=(width="))168/)

我期望从一个字符串中 取出其中位于width="123" 中的123

我先说一下我能想到的。但是这样的操作都感觉怪怪的。有没有炫酷的方法

使用replace然后在回调里面获取;

'<img abc 123 width="168" height="300"'.replace(/width="\d+"/,function(a){console.log(a)})

或者是如同,@ars_qu 那样

'<img abc 123 width="168" height="300"'.match(/width="\d+"/)[0].match(/\d+/)[0]

解决方案

js 对断言支持很差,直接用匹配组就好了:

'<img abc 123 width="168" height="300"'.match(/width="(\d+)"/)[1]

这篇关于javascript - (?=exp)零宽度正预测先行断言,怎么用,为什么出不来效果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆