您现在的位置是:首页 > 正文

正则的贪婪和非贪婪模式

2024-01-30 21:40:34阅读 0

在正则表达式中,贪婪(greedy)和非贪婪(non-greedy)指的是匹配操作的行为方式。

贪婪匹配是指尽可能多地匹配字符,以满足整个正则表达式的匹配条件。它会尽量匹配更长的字符串,而不是满足最小的匹配要求。

贪婪匹配使用 * 和 + 量词来表示

  • 例如,给定正则表达式 a.*b 和字符串 abcbdb,贪婪匹配会尽量匹配更长的字符串,即从第一个 a 开始,一直匹配到最后一个 b,得到的匹配结果是 abcb

非贪婪匹配是指尽可能少地匹配字符,以满足整个正则表达式的匹配条件。它会尽量匹配更短的字符串,而不是尽可能多的匹配。

非贪婪匹配使用 *? 和 +? 量词来表示

  • 例如,给定正则表达式 a.*?b 和字符串 abcbdb,非贪婪匹配会尽量匹配更短的字符串,即从第一个 a 开始,只匹配到第一个满足条件的 b,得到的匹配结果是 ab

在正则表达式中,可以通过在量词后面添加 ? 来表示非贪婪匹配。例如,*? 表示非贪婪的零次或多次重复,+? 表示非贪婪的一次或多次重复。

网站文章

  • 附录7-用户列表案例,element-ui

    附录7-用户列表案例,element-ui

    pymysql一直开着会有一些问题,只能在每一次查询进行一次启停,每一个视图中写一遍就很麻烦,所以用到了请求钩子。main.js主要解决了三个问题。如果点击取消就会显示添加失败。点击取消会显示删除失败。点击确定会显示删除成功。

    2024-01-30 21:40:27
  • (Medium) Teemo Attacking - LeetCode

    Description:In LOL world, there is a hero called Teemo and his attacking can make his enemy Ashe be in poisoned condition. Now, given the Teemo's attacking ascending time series towards Ashe ...

    2024-01-30 21:39:59
  • SpringMVC中@ModelAttribute和@SessionAttributes注解的使用

    SpringMVC中@ModelAttribute和@SessionAttributes注解的使用

    1.@ModelAttribute注解的使用@ModelAttribute注解在两种地方可以使用从这里我们可以看到该注解可以用在参数上也可以用在方法体上。现在我们就来讲解这两种方式。方式一,该注解用在方法体上:在方法定义上使用 @ModelAttribute 注解:Spring MVC在调用目标处理方法前,会先逐个调用在方法级上标注了@ModelAttribute 的方...

    2024-01-30 21:39:52
  • linux基础命令-rm 最新发布

    在 Linux 操作系统中,rm 是一个强大的命令,用于删除文件和目录。它允许用户在文件系统中进行清理和维护操作,但同时也需要谨慎使用,因为删除的文件和目录不可恢复。在使用 rm 命令时,请注意核实您...

    2024-01-30 21:39:44
  • c++语言将字符串逆序输出,C++实现string类字符串单词的逆序输出

    c++语言将字符串逆序输出,C++实现string类字符串单词的逆序输出

    利用c++实现string类字符串单词的逆序输出,并改变源字符串的大小写。#include#include#includeusing namespace std;string StringReverseWord(string &s){int len = s.length();if (len == 0)//空字符串return s;int n = 0;while (s[n++] == ' '...

    2024-01-30 21:39:14
  • jep290涉及jdk版本_JDK 12 – JEP 325开关表达式

    jep290涉及jdk版本 JDK 12已于2019年3月19 日上线GA,继续致力于缩短发布周期和频繁发布。 该版本的功能部分可以在这里找到。 对于开发人员来说,有趣的功能之一是“ JEP 325开关表达式 ”,它可以作为预览功能使用。 此处定义的预览功能是: 预览语言或VM功能是Java SE平台的一项新功能,该功能已完全指定,完全实现但不是永久性的。 JDK功能发布中提供了该功能...

    2024-01-30 21:39:07
  • React 知识点整理

    React 知识点整理

    React 知识点整理

    2024-01-30 21:39:00
  • 通俗易懂设计模式解析——抽象工厂模式

    通俗易懂设计模式解析——抽象工厂模式

    前言  前面介绍了单例模式及工厂模式相关知识及示例,今天主要介绍的是抽象工厂模式,上一篇我们讲了工厂模式。将创建对象的任务委托给子类,延迟创建。解决工厂中责任的划分。实现具体工厂与产品之间的一一对应。解决的是”单个对象”的问题。  华为工厂除了生产华为手机之外。肯定也会有原件配套的充电线和耳机。这时工厂对应的是一套产品该如何解决了呢?显然不再适合使用工厂模式了。今天将的抽象工厂模...

    2024-01-30 21:38:25
  • python调用程序call_Python下的subprocess.call()使用和注意事项

    Python虽然有许多优秀的第三方库,但在实际使用的时候免不了使用一些cmd调用的程序,毕竟这类程序比较底层,更快、也更稳定。比如GDAL、FFmpeg、 ImageMagick等。利用Python调...

    2024-01-30 21:38:18
  • 详解TCP/IP协议栈

    详解TCP/IP协议栈

    之前对网络各层作用的了解一直都比较模糊,对各个协议的作用也不甚清楚,最近看到了一篇对TCP/IP协议栈讲解比较清晰的博文,特地转载过来。什么是TCP/IP协议栈TCP/IP 协议栈是一系列网络协议的总...

    2024-01-30 21:37:44