首页 > 其他分享 >正则表达式的贪婪模式与非贪婪模式

正则表达式的贪婪模式与非贪婪模式

时间:2024-03-28 15:12:14浏览次数:24  
标签:匹配 正则表达式 axxxbxxxab 模式 贪婪 字符串

正则表达式中的贪婪模式和非贪婪模式(也称为勉强模式或懒惰模式)是量词行为的两种不同模式。这些模式影响正则表达式如何匹配字符串中的字符序列。

贪婪模式(Greedy)

  • 贪婪模式是正则表达式的默认行为。
  • 在贪婪模式下,正则表达式会尽可能多地匹配字符。
  • 它会尝试匹配尽可能长的字符串片段,直到整个表达式能够匹配为止。
  • 例如,正则表达式 a.*b 用于字符串 axxxbxxxab 时,会匹配从第一个 a 到最后一个 b 的整个部分 axxxbxxxab,而不仅仅是 axxxb

非贪婪模式(Non-Greedy or Lazy)

  • 非贪婪模式通过在量词后面加上一个问号 ? 来启用,例如 *?+???
  • 在非贪婪模式下,正则表达式会尽可能少地匹配字符。
  • 它会尝试匹配尽可能短的字符串片段,只要这样的匹配能够使整个表达式得到满足。
  • 例如,正则表达式 a.*?b 用于字符串 axxxbxxxab 时,会匹配从第一个 a 开始直到第一个 b 结束的部分 axxxb,而不会匹配整个字符串。

总的来说,贪婪模式与非贪婪模式的主要区别在于匹配字符串的长度:贪婪模式倾向于尽可能多地匹配,而非贪婪模式倾向于尽可能少地匹配。选择使用哪种模式取决于你的具体需求和预期的匹配行为。

标签:匹配,正则表达式,axxxbxxxab,模式,贪婪,字符串
From: https://www.cnblogs.com/fallingmoon/p/18101737

相关文章

  • Android 8.1 USB连接模式默认为MTP
    Android8.1USB连接模式默认为MTP最近收到项目需求,要求设备默认的USB连接模式为MTP,具体修改参照如下:/frameworks/base/services/usb/java/com/android/server/usb/UsbDeviceManager.javapublicvoidhandleMessage(Messagemsg){switch(msg.what){......
  • ActiveMQ Artemis 系列| High Availability 主备模式(消息复制) 版本2.33.0
    一、ActiveMQArtemis介绍ApacheActiveMQArtemis是一个高性能的开源消息代理,它完全符合JavaMessageService(JMS)2.0规范,并支持多种通信协议,包括AMQP、MQTT、STOMP和OpenWire等。ActiveMQArtemis由ApacheSoftwareFoundation开发和维护,旨在提供可靠的消......
  • 分享23种追女生的方式,教你同时把追MM和设计模式融汇贯通(下
    想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦。观察者模式:观察者模式定义了一种一队多的依赖关系,让多个观察者对象同时监听某一个主题对象......
  • 23.异步模式-生产者、消费者
    1.与保护性暂停GuardedObject不同,不需要产生结果与消费结果的线程一一对应。2.消费队列可以用来平衡生产和消费的线程资源。3.生产者负责产生结果数据,不关心数据该如何处理,而消费者专心处理结果数据。4.消息队列是有容量限制的,满时不会再加入数据,空时不会再消耗数据。5.jdk......
  • 原型模式
     1.原型模式介绍创建对象的种类,并且通过拷贝这些原型,创建新的对象,无需知道如何创建的细节 2.原型模式问题:现在有一只羊tom,姓名为:tom,年龄为:1,颜色为:白色,请编写程序创建和tom羊属性完全相同的10只羊(1)传统方式解决publicclassSheep{priva......
  • 16使用正则表达式处理字符串
    1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<metaname="viewport"content="width=device-width,initial-scale=1.0">6<title>Document......
  • [docker] 浅谈Docker:网络模式及从容器内部访问宿主机的IP地址
    0序本文系转载参考文献,属于非原创的笔记类博文。最新结论:从Docker容器内部访问宿主的IP地址的几种方法,推荐基于Bridge模式+--link访问别的服务+172.16.0.1(访问宿主机)。1Docker的网络模式docker是比较流行的容器技术,docker镜像方便程序员对应用统一的要求,打包部......
  • 原来内存条要开启xmp模式
    明明我购买的是3600mhz的内存条,但是在资源管理器里面显示2600mhz问客服才知道需要开始xmp在bios里面开启重启后一看到主板的页面就按F2或delete我一直按都没有反应查阅资料发现应该是主板设置了快速启动,usb键盘在启动时不通电,那么按就没反应然后我在一见到光的时候就强制关......
  • Java商城 免 费 搭 建:鸿鹄云商实现多种商业模式,VR全景到SAAS,应有尽有
    鸿鹄云商b2b2c产品概述【b2b2c平台】,以传统电商行业为基石,鸿鹄云商支持“商家入驻+平台自营”多运营模式,积极打造“全新市场,全新模式”企业级b2b2c电商平台,致力干助力各行/互联网创业腾飞并获取更多的收益。从消费者出发,助力企业构建完整电商交易生态,整合资源,创造更有利的......
  • 双碳目标下基于全球模式比较计划CMIP6与区域气候-化学耦合模式WRF-Chem的未来大气污染
    原文链接:双碳目标下基于全球模式比较计划CMIP6与区域气候-化学耦合模式WRF-Chem的未来大气污染变化模拟教程https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247599209&idx=7&sn=2fb78bcb18e6ec709853a7595d8822d9&chksm=fa82058ecdf58c9852bf40b62a8198088d10a6bc5a1......