javascript - js正则表达式中如何确定哪些是非获取匹配?
PHP中文网
PHP中文网 2017-04-11 13:06:13
[JavaScript讨论组]

在阅读Vue2.0的编译代码时,出现了一个匹配属性的正则表达式,它能够匹配单个属性和值,正则表达式如下:
/^\s*([^\s"'<>\/=]+)(?:\s*((?:=))\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/

这个正则表达式能够正确执行,能够匹配相应的属性和值,如图:

但是我有一些疑问:如下

  1. 第一个"?:"引导的非获取匹配(图中阴影部分),为什么在匹配结果中还能被匹配到:

  2. 为什么使用两个小括号来括住“?:=”,这样做有什么作用?

谢谢大神指点一二。

PHP中文网
PHP中文网

认证0级讲师

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

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