为什么在这儿(.*?)就知道匹配的超链接a里面的内容而不是加上一个</p>呢

为什么在这儿(.*?)就知道匹配的超链接a里面的内容而不是加上一个</p>呢

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

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

1回答
好帮手慕粉 2019-10-29 11:09:25

同学你好,

1、首先(.*?)就代表匹配<[a-zA-Z]+><\/[a-zA-Z]+>里面的内容,而在这里[a-zA-Z]匹配的就是p标签哦,中间再加上(.*?)则代表匹配p标签里的内容,所以不会匹配到p标签哦:http://img1.sycdn.imooc.com//climg/5db7ad390907bb1b08300199.jpg

2、其次这里匹配的不是超链接a里面的内容,而是p标签里面的内容,匹配到的是整个a标签及其里面的内容哦。

希望我的回答能够帮助到你,望采纳,祝学习愉快!

  • 老师,这里是不是用贪婪和非贪婪解释是不是更合适一点;同学问的是为什么匹配的不是<p>xxxxxx</a> 而是<p>xxxxx</p>?
    2019-11-03 22:41:03
  • 同学你好, 1、“吴花花同学”说的对哦,(.*?)里面的?就代表非贪婪模式,如果匹配到一个标签就往下执行,不会回溯,具有最小匹配的性质。 2、例如a(.*?)b就是匹配最短的,以a开始,以b结束的字符串里面的内容。 所以只能匹配到a标签,匹配不到</p>哦。 祝学习愉快!
    2019-11-04 09:40:39
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

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

在线咨询

领取优惠

免费试听

领取大纲

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