全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法分析

本文实例分析了js正则表达式最长匹配(贪婪匹配)和最短匹配(懒惰匹配)用法。分享给大家供大家参考,具体如下:

最近在阅读RequireJS 2.1.15源码,源码开始处定义了一系列的变量,有4个正则表达式:

var commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
jsSuffixRegExp = /\.js$/,
currDirRegExp = /^\.\//;

commentRegExp正则用来匹配JavaScript代码中的注释,/m的用法可以参考这篇文章:https://www./article/101399.htm,/g的用法参考这篇文章:https://www./article/101408.htm。commentRegExp中的*?这种用法之前没有见过,觉得很奇怪,因为*在正则表达式中代表0个或任意多个,?代表0个或1个,刚开始觉得*?这种写法很多余。请教同事才知道,*?这种写法是懒惰匹配。

alert(/abc([\w]*)/mg.exec("abc1abc2")[0]);//abc1abc2
alert(/abc([\w]*?)/mg.exec("abc1abc2")[0]);//abc

通过下面这段代码可以看出:最长匹配和最短匹配的差别通过这段代码可以看出:最长匹配和最短匹配的差别,一个匹配尽可能多的字符,一个匹配尽可能少的字符。一般正则表达式引擎默认都是最长匹配的,如果我们想要最短匹配,那么可以在数量修饰符后面添加一个?变成最短匹配。

/***注释1****/ var name = "aty"; /***注释2****/
var name = "aty";

通过上面这段代码可以知道,为啥requirejs匹配javascript注释要采用*?这种最短匹配模式了吧。如果我们要删除所有注释,那么应该采用最短匹配,否则var name="aty";这段代码会被替换掉。

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript正则表达式技巧大全》、《JavaScript替换操作技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript中json操作技巧总结》、《JavaScript错误与调试技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# js  # 正则表达式  # 最长匹配  # 贪婪匹配  # 最短匹配  # 懒惰匹配  # JS正则表达式学习之贪婪和非贪婪模式实例总结  # js正则表达式惰性匹配和贪婪匹配用法分析  # JavaScript正则表达式的贪婪匹配和非贪婪匹配  # 最短  # 这段  # 可以看出  # 这篇文章  # 都是  # 操作技巧  # 相关内容  # 多个  # 遍历  # 感兴趣  # 数据结构  # 才知道  # 给大家  # 刚开始  # 很奇怪  # 更多关于  # 所述  # 没有见过  # 程序设计 


相关文章: 免费网站制作appp,免费制作app哪个平台好?  招贴海报怎么做,什么是海报招贴?  如何通过建站之星自助学习解决操作问题?  如何快速搭建高效WAP手机网站?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何用wdcp快速搭建高效网站?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  如何快速搭建二级域名独立网站?  如何在阿里云域名上完成建站全流程?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  营销式网站制作方案,销售哪个网站招聘效果最好?  建站之星官网登录失败?如何快速解决?  如何选择最佳自助建站系统?快速指南解析优劣  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  做企业网站制作流程,企业网站制作基本流程有哪些?  高防服务器租用指南:配置选择与快速部署攻略  建站org新手必看:2024最新搭建流程与模板选择技巧  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  建站三合一如何选?哪家性价比更高?  网站制作多少钱一个,建一个论坛网站大约需要多少钱?  网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?  ,sp开头的版面叫什么?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何选择高效便捷的WAP商城建站系统?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何通过山东自助建站平台快速注册域名?  香港服务器部署网站为何提示未备案?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  如何零基础在云服务器搭建WordPress站点?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  公司网站制作价格怎么算,公司办个官网需要多少钱?  企业微网站怎么做,公司网站和公众号有什么区别?  香港服务器选型指南:免备案配置与高效建站方案解析  如何选择香港主机高效搭建外贸独立站?  利用JavaScript实现拖拽改变元素大小  如何基于PHP生成高效IDC网络公司建站源码?  建站之星展会模板:智能建站与自助搭建高效解决方案  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  宁波自助建站系统如何快速打造专业企业网站?  如何通过虚拟机搭建网站?详细步骤解析  建站主机选购指南与交易推荐:核心配置解析  如何在局域网内绑定自建网站域名?  视频网站制作教程,怎么样制作优酷网的小视频?  制作网站的模板软件,网站怎么建设?  ,制作一个手机app网站要多少钱?  湖北网站制作公司有哪些,湖北清能集团官网?  如何在阿里云ECS服务器部署织梦CMS网站?  整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。