位置: 编程技术 - 正文

深入理解JS正则表达式---分组(js中的正则表达式的例子)

编辑:rootadmin

推荐整理分享深入理解JS正则表达式---分组(js中的正则表达式的例子),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:深入理解js正则表达式,深入理解js正则是什么,js正则用法,js正则表达式详解,js正则用法,深入理解js正则是什么,js正则用法,深入理解js正则是什么,内容如对您有帮助,希望把文章链接给更多的朋友!

深入理解JS正则表达式---分组

之前写了一篇关于正则新手入门的文章,本以为对正则表达式相对比较了解 但是今天我又遇到了一个坑,可能是自己不够细心的原因吧,今天就着重和大家分享一下javascript正则表达式中的分组。如果你对JS正则表达式不够理解 可以点击这里了解更多。

分组在正则中用的还是比较广的,我所理解的分组 就是一对括号() ,每一对括号 就代表了一个分组,分组可以分为:

&#;捕获性分组&#;非捕获性分组

捕获性分组

捕获性分组会在 比如 match exec这样的函数中以第二项,第三项的形式得到相应分组的结果。先来看一个例子吧

代码中 (d+)是一个分组(有些人也叫他子模式),但是表示的都是同一个意思,上面的例子中 test是完全匹配的结果,然而 分组的匹配是从整个完全匹配结果(也就是test)中来查找与子模式d+匹配的字符,这里显然是 .但是今天遇到的情况是这样的

深入理解JS正则表达式---分组(js中的正则表达式的例子)

不同之处就是 (d+) 改为了 (d)+ ,整个匹配结果还是 test 但是第一个分组匹配的结果却不同。咱们慢慢来分析他们的区别

(d+) 这整个是一个分组的情况,由于 默认情况下 匹配模式都是贪婪模式 也就是说尽可能多的去匹配所有d+ 匹配到的结果 是 然后 外面添加了一对括号 也就是一个分组,这样第一个分组中匹配的结果就是 .再来看第二个例子中的 (d)+ 同样这也是一个贪婪模式 首先会先匹配0然后后面是0 也会匹配到 最后是1 同样也匹配到 到此 匹配结束看起来跟第一个例子中的匹配没什么区别,但是这里的 分组(d)表示 匹配单个数字,按照我之前的理解是0 但这种理解是错误的。由于整个匹配是贪婪模式,尽可能多的去匹配分组中的 (d) 就会捕获 最后一次匹配到的结果 1,如果是非贪婪模式 那就会尽可能少的去匹配

这样(d)匹配结果就是0了,虽然后面还有能够匹配到的结果,但是这里是尽可能少的去匹配

非捕获性分组

非捕获性分组也就是 有些地方需要用到一对括号,但是又不想让他成为一个捕获性分组也就是不想让这个分组被类似 macth exec 这样的函数所获取到通常在括号内部的前面加上&#;: 也就是 (&#;:pattern)这样就变成了一个非捕获性分组,

这样 match的结果中就不会出现分组匹配到的内容了 也就是少了 第二项的 1.

这篇文章着重说明 (d+)和 (d)+的区别,也是我今天踩到的坑,若有错误之处,欢迎指正。

以上这篇深入理解JS正则表达式---分组就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

ECMAScript6快速入手攻略 简介ECMAScript6是JavaScript的下一个标准,正处在快速开发之中,ECMAScript6的目标,是使得JavaScript可以用来编写复杂的应用程序、函数库和代码的自动生成

JavaScript的==运算详解 大家知道,JavaScript中的==是一种比较复杂运算,它的运算规则很奇怪,很容易让人犯错,从而成为JavaScript中最糟糕的特性之一。在仔细阅读ECMAScript规范

Javascript基础学习笔记(菜鸟必看篇) 什么是变量?变量是用于存储信息的容器变量的声明语法:var变量名变量名=值;变量要先声明再赋值变量可以重复赋值变量的命名规则变量必须以字母开

标签: js中的正则表达式的例子

本文链接地址:https://www.jiuchutong.com/biancheng/373554.html 转载请保留说明!

上一篇:javascript运算符——位运算符全面介绍(JavaScript运算符中谁拥有最高优先级)

下一篇:ECMAScript6快速入手攻略(ecmascript5)

  • 建筑业小规模纳税人 扣除分包款 开票
  • 税务鉴定收费标准
  • 营业税金及附加是什么科目
  • 资金账簿印花税每年都要交吗?
  • 印花税计入什么科目会计分录
  • 因租赁形成的使用权资产
  • 小规模纳税人收入是含税还是不含税
  • 房屋租赁房产税税率是怎样计算的
  • 资产处置损益是营业外收入吗
  • 收入纳税明细里的收入是税前还是税后
  • 社保公积金计提是本月计提下月
  • 对公账户发工资怎么操作
  • 应付职工薪酬工资贷方有余额要怎么调整
  • 企业想成为退税商店需具备哪些条件
  • 税收的三个基本要素是
  • 承租人融资租赁设备长期应付款包括租赁资产担保余值
  • 评估价与成交价相差多少合法
  • 房租收入应该计入什么会计科目
  • 提取的生产企业安全费如何记帐
  • 当年缴纳的税金怎么入账
  • 个人劳务费发票个人所得税
  • 国家税务总局11号令
  • 发票作废是不是很麻烦
  • 房地产企业预收房款开票
  • 跨年度的费用发票,如何做分录
  • 二手房个人所得税和增值税
  • 固定资产入账的方式
  • 净利润分配股利的会计分录
  • 所得税补税怎么申报
  • 入账价值是啥
  • ajax调用php函数
  • 电脑重装系统怎么激活
  • 员工加班车费会计分录
  • 营改增之前没有增值税吗
  • PHP:stream_get_transports()的用法_Stream函数
  • esafec.dll是什么东西
  • 为什么老是跳到别的网站
  • 企业长期资金的筹集方式
  • 没有发票怎么做研发费用
  • php实现文件的下载
  • web前端面试题2021及答案
  • [深度学习] fast-reid入门教程
  • 委托境外机构研发
  • 个人综合所得汇算申报流程
  • 企业送的购物卡怎么退回去
  • 停工损失会计科目
  • 零申报年报
  • 科技型中小微企业贷款贴息贴保项目入库
  • 劳动仲裁赔偿款会计分录
  • 固定资产处置的账务处理 终于搞明白了!
  • 企业如何代员工做个税汇算清缴
  • 税务ukey版怎么读入发票
  • 赠送客户的商品需要交税吗
  • 减免税款科目期末有余额吗
  • 收回多发工资需要什么附件入账
  • 资产减值准则规范
  • 预期信用损失影响损益吗
  • 实收资本应补缴哪些税
  • Ubuntu下MySQL及工具安装配置详解
  • windows任务管理
  • macos sierra怎么升级到big sur
  • xp桌面底部任务栏不见了
  • win 8系统怎么样
  • win8怎么设置自启动
  • win8怎么弄出开始菜单键
  • 3dmconfig.ini有什么用
  • jquery中attr和prop
  • shell exec重定向
  • dom教程
  • jquery提交form表单数据
  • android图片全屏显示
  • python 下载一个网站上的所有文档
  • javascript 面向对象
  • python继承的主要目的
  • 卷烟批发环节的税率
  • 收到税务局发的多条宣传短信
  • 如何提升基层党建质量
  • 电子税务网上申报平台
  • 电影失眠详细剧情
  • 运输企业定额发票是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设