javascript核心技术(五十八)正则表达式(十三)贪婪匹配与懒惰匹配

[复制链接]
查看: 2067|回复: 31
发表于 2023-1-30 15:59:03 | 显示全部楼层 | 阅读模式
贪婪匹配(.*):即在满足表达式的前提下尽量多的取出数据。
懒惰匹配(.*?):即在满足表达式的前提下尽量少的取出数据。

一、贪婪匹配

<!DOCTYPE html>
<html>

<head>
        <title>贪婪匹配与懒惰匹配</title>
</head>

<body>
        <script type="text/javascript">
        var html = '<div id="div1"><div id="div2">请匹配我</div></div>';
        //贪婪匹配
        var pattern = /<div id="div2">.*<\/div>/;
        var res = html.match(pattern);
        console.log(res);//<div id=\"div2\">请匹配我</div></div>
        // 解释一下:
        // 表达式指定为:开始是<div id="div2">,中间时任意字符,结尾是</div>
        // 由于字符串中只有一个<div id="div2">,所以,不论是贪婪还是懒惰,开始位置都是确定的
        // 结束位置是</div>,在字符串中存在两个</div>,如果是贪婪,那就找最后面的那个,因为它要取得尽量多的数据
        </script>
</body>

</html>

javascript核心技术(五十八)正则表达式(十三)贪婪匹配与懒惰匹配

二、懒惰匹配

<!DOCTYPE html>
<html>

<head>
        <title>贪婪匹配与懒惰匹配</title>
</head>

<body>
        <script type="text/javascript">
        var html = '<div id="div1"><div id="div2">请匹配我</div></div>';
        // 懒惰匹配
        var pattern = /<div id="div2">(.*?)<\/div>/;
        var res = html.match(pattern);
        // match 方法会将子表达式的结果,也放在结果数组中
        // match 返回结果:不加全局修饰符g,结果包含子表达式结果,加全局修饰符g,不包含子表达式结果。
        console.log(res);//结果为:'<div id="div2">请匹配我</div>'和'请匹配我'
        console.log(res[1]);//结果为:'请匹配我'
        // 解释一下:
        // 表达式指定为:开始是<div id="div2">,中间是任意字符,结尾是</div>
        // 由于字符串中只有一个<div id="div2">,所以,不论是贪婪还是懒惰,开始位置都是确定的
        // 结束位置是</div>,在字符串中存在两个</div>,如果是懒惰,那就找最前面的那个,因为它要取得尽量少的数据
        </script>
</body>

</html>

javascript核心技术(五十八)正则表达式(十三)贪婪匹配与懒惰匹配

易博软件介绍

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-2-24 01:20:24 | 显示全部楼层
世上有些问题,有许多种解法!当然,今天看了你的贴子!让人感触很深!如果做为程序员来讲,当然讲求效率为先!不然还真的没有什么人可以成为杰出或是优秀的程序员了!
发表于 2023-3-7 03:38:09 | 显示全部楼层
^台湾是中国不可分割的领土!!!

0

主题

6

帖子

3

积分

营销入门

Rank: 2

积分
3
发表于 2023-3-20 04:47:01 | 显示全部楼层
受用

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-3-26 17:49:55 | 显示全部楼层
说得好,学计算机学的不仅仅是计算机,好的数学基础也是必不可少的

0

主题

12

帖子

7

积分

营销入门

Rank: 2

积分
7
发表于 2023-4-1 22:08:12 | 显示全部楼层
虽然现在还看不懂..不过对我学习编程有很大的帮助.谢谢

0

主题

15

帖子

8

积分

营销入门

Rank: 2

积分
8
发表于 2023-4-6 19:14:43 | 显示全部楼层
好的程序员需要有创造性的思维,越到最后越显示出作为程序员所具备数学基础的作用  

0

主题

21

帖子

11

积分

营销入门

Rank: 2

积分
11
发表于 2023-4-12 17:20:25 | 显示全部楼层
很好,给我们初学者一个忠告!

0

主题

33

帖子

18

积分

营销入门

Rank: 2

积分
18
发表于 2023-4-17 07:25:28 | 显示全部楼层
^  谢了。。

0

主题

23

帖子

12

积分

营销入门

Rank: 2

积分
12
发表于 2023-4-22 02:25:01 | 显示全部楼层
你写得很不错 我是新手 现在还不会写 但你说的 会让我少走很多弯路,是啊!变成要有想象力 失败了再爬起来!!我祝你工作顺利 祝我自己学习有成
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表