• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >正则表达式 > 正则用(?>…)实现固化分组提高效率

正则用(?>…)实现固化分组提高效率

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了正则表达式怎么用,正则表达式有什么用,用正则表达式验证邮箱,c#正则表达式怎么用,java正则表达式怎么用等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
具体来说,使用「(?>…)」的匹配与正常的匹配并无差别,但是如果匹配进行到此结构之后(也就是,进行到闭括号之后),那么此结构体中的所有备用状态都会被放弃(不能被回溯)。
  也就是说,在固化分组匹配结束时,它已经匹配的文本已经固化为一个单元,只能作为整体而保留或放弃。括号内的子表达式中未尝试过的备用状态都不复存在了,所以回溯永远也不能选择其中的状态(至少是,当此结构匹配完成时,“锁定(locked in)”在其中的状态)。
例子:
  比如要处理一批数据,原来格式为123.456,后来因为浮点数显示问题,部分数据格式变为123.456000000789这种,,要求做到只保留小数点后面2-3位,但是,最后一位不能为0,这个正则如何写呢?(下面直接考虑小数点后面的数字),写出正则之后,我们还要用这个正则去匹配数据,把原来的数据替换成匹配的结果。

正则一、
  匹配‘.625'或者‘.625000'时就会发生这种情况。在后一种情况下,放弃那些状态不会带来任何麻烦,因为「\d+」匹配的是‘.625000',到这里正则表达式已经完成匹配。但是对于‘.625'来说,因为「\d+」无法匹配,正则引擎需要回溯,但回溯又无法进行,因为备用状态已经不存在了。既然没有能够回溯的备用状态,整体匹配也就失败,‘.625'不需要处理,而这正是我们期望的。 </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 正则用(?&gt;…)实现固化分组提高效率
  • 用正则按最后一个"_"分割"字符

相关文章

  • 2017-05-11正则表达式,提取网页中的链接地址
  • 2017-05-11JS、replace利用正则表达式替换SQL所有参数为指定格式的数据
  • 2017-05-11正则表达式 学习资料整理
  • 2017-05-11正则表达式,只匹配一次下化线!
  • 2017-05-11好东西,老外用正则表达式写的HTML分离函数
  • 2017-05-11js:正则处理超文本流
  • 2017-05-11python实现统计汉字/英文单词数的正则表达式
  • 2017-05-11经典Javascript正则表达式[优质排版]
  • 2017-05-11正则表达式--QQ微信、优酷前端 邮箱正则表达式验证 Bug
  • 2017-05-11正则(JS)re=new RegExp("^\\d*$");与re=/^\d*$/;之间区别?

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 正则表达式口诀 正则表达式学习工具
    • 比较正宗的验证邮箱的正则表达式js代码详解
    • 周末总结正则表达式(完整篇)
    • PHP 正则表达式验证中文的问题
    • 积累比较常用的正则表达式(例如:匹配中文、匹配html)
    • PHP中的递归正则使用说明
    • JavaScript 中的正则表达式(推荐)
    • 正则替换实现输入框只能有数字、中英文逗号
    • javascript高级程序设计(第三版)学习笔记(一) 正则表达式整理
    • 正则表达式其实就是一个特殊的字符串

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有