老师,这句话什么意思呢

老师,这句话什么意思呢

为什么匹配/<(?:[^'">])*>/g的结果是http://img1.sycdn.imooc.com//climg/5cabf8600001a9a401040036.jpg

匹配/<(?:"[^"]*")*>/g的结果是Null

匹配/<(?:[^'">]|"[^"]*")*>/g;的结果就是http://img1.sycdn.imooc.com//climg/5cabf8c70001733702830036.jpg了呢

这句话什么意思呢var pattern = /<(?:[^'">]|"[^"]*"|'[^']*')*>/g;


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕星星 2019-04-09 11:03:15

你好,这个正则的意思是匹配引号外面的内容和引号里面的内容:

http://img1.sycdn.imooc.com//climg/5cac0a2b000191d709540069.jpg

1、标签中的属性使用的引号可能是双引号,也可能是单引号,所以匹配引号外面的内容使用^取反,双引号,单引号和>不能获取,其他都是可以获取的。

2、匹配引号里面的内容,不能匹配到引号,其他都是可以的,数量上可以为0,也就是引号中间没有内容。单引号和双引号都有可能,所以写了两次。

3、然后把这匹配的三个作为一组,需要全部都进行匹配,数量上可以为0,不需要捕获分组的内容,所以使用了?:

4、最外层是<>。

自己可以再测试理解下,祝学习愉快!

  • 提问者 浑俗和光233 #1
    那为什么三个|分开都不能匹配到内容合起来就能匹配到呢
    2019-04-09 11:16:13
  • 好帮手慕星星 回复 提问者 浑俗和光233 #2
    每一个匹配到的只是一部分,引号外面的,或者是引号里面的,都不能都不能完全匹配一个标签,所以需要三个作为一个单元,全部都匹配。
    2019-04-09 12:08:53
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
组件化思想开发电商网页 18版
  • 参与学习           人
  • 提交作业       467    份
  • 解答问题       4826    个

本路径带你通过系统学习HTML5、JavaScript、jQuery的进阶知识,不仅如此,还会学习如何利用组件化的思想来开发网页,知识点+案例,使得所学可以更好的得到实践。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师