JavaScript正则表达式的贪婪匹配和非贪婪匹配

 更新时间:2017年09月05日 09:35:47   作者:白夜行1994  
所谓贪婪匹配就是匹配重复字符是尽可能多的匹配,非贪婪匹配就是尽可能少的匹配,下面通过一个例子给大家分享JavaScript正则表达式的贪婪匹配和非贪婪匹配,感兴趣的朋友参考下吧

所谓贪婪匹配就是匹配重复字符是尽可能多的匹配,比如:

"aaaaa".match(/a+/); 
//["aaaaa", index: 0, input: "aaaaa"] 

非贪婪匹配就是尽可能少的匹配,用法就是在量词后面加上一个“?”,比如:

"aaaaa".match(/a+?/); 
//["a", index: 0, input: "aaaaa"] 

但是非贪婪匹配有时候和我们期待的并不一样,比如:

"aaab".match(/a+b/); 
["aaab", index: 0, input: "aaab"] 
"aaab".match(/a+?b/); 
["aaab", index: 0, input: "aaab"] 

在我们期待的情况下非贪婪匹配应该是匹配"ab"才对但是结果却和贪婪匹配时一样的。
在《权威指南》中有这么一句话:正则表达式的模式匹配总是会寻找字符串中第一个可能匹配的位置。
个人对这句话的理解是:上例中正则表达式会先找到第一个字符a,因为a后面连接的字符有可能形成匹配,这是正则表达式就认定这个位置的字符了,然后开始往后进行匹配,如果像第一个例子中那样非贪婪匹配,匹配到第一个a就结束了,但是第二个例子中还要匹配b所以不得不接着往下匹配直到匹配到b为止结束。

总结

以上所述是小编给大家介绍的JavaScript正则表达式的贪婪匹配和非贪婪匹配,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • javascript实现淡蓝色的鼠标拖动选择框实例

    javascript实现淡蓝色的鼠标拖动选择框实例

    这篇文章主要介绍了javascript实现淡蓝色的鼠标拖动选择框,可实现鼠标拖动出现淡蓝色选择框的效果,涉及javascript鼠标事件及样式的操作技巧,需要的朋友可以参考下
    2015-05-05
  • javascript动态添加表格数据行(ASP后台数据库保存例子)

    javascript动态添加表格数据行(ASP后台数据库保存例子)

    本文,我将以一个类似的例子来做一个前台用Javascript动态添加数据项,后台保存到数据库的例子。
    2010-05-05
  • 使用SpreadJS快速清除Excel中工作表保护密码

    使用SpreadJS快速清除Excel中工作表保护密码

    这篇文章主要为大家介绍了使用SpreadJS快速清除Excel中工作表保护密码方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • JS合并两个数组的方法详解

    JS合并两个数组的方法详解

    这篇文章主要详细介绍了JS合并两个数组的方法,文中有详细的代码示例,对我们学习JS有一定的帮助,感兴趣的同学可以参考一下
    2023-06-06
  • js实现小星星游戏

    js实现小星星游戏

    这篇文章主要为大家详细介绍了js实现小星星游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • JS for in遍历对象顺序不对解决办法

    JS for in遍历对象顺序不对解决办法

    最近使用for-in语句遍历对象属性时发现遍历顺序并非属性构建顺序,这篇文章主要给大家介绍了关于JS for in遍历对象顺序不对的解决办法,需要的朋友可以参考下
    2023-11-11
  • js查找节点的方法小结

    js查找节点的方法小结

    这篇文章主要介绍了js查找节点的方法,实例总结了查找节点常用的三种方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • javascript从定义到执行 你不知道的那些事

    javascript从定义到执行 你不知道的那些事

    这篇文章主要介绍了javascript从定义到执行,你不知道的那些事,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 详解webpack中的publicpath

    详解webpack中的publicpath

    这篇文章主要介绍了webpack中的publicpath,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • js读取csv文件并使用json显示出来

    js读取csv文件并使用json显示出来

    这篇文章主要介绍了js读取csv文件并使用json显示出来,需要的朋友可以参考下
    2015-01-01

最新评论