首页 > 其他分享 >正则表达式二

正则表达式二

时间:2023-02-04 16:12:29浏览次数:39  
标签:匹配 正则表达式 模式 单词 正则 贪婪 回溯

 

在这 6 种元字符中,我们可以用 {m,n} 来表示 (*)(+)(?) 这 3 种元字符:

 


 

贪婪与非贪婪模式。这两种模式都必须满足匹配次数的要求才能匹配上。贪婪模式,简单说就是尽可能进行最长匹配。非贪婪模式呢,则会尽可能进行最短匹配。

贪婪匹配(Greedy)

婪模式的特点就是尽可能进行最大长度匹配。

非贪婪匹配(Lazy)

非贪婪模式会尽可能短地去匹配,我把这两者之间的区别写到了下面这张图中。

 


 

 

独占模式(Possessive)

不管是贪婪模式,还是非贪婪模式,都需要发生回溯才能完成相应的功能。但是在一些场景下,我们不需要回溯,匹配不上返回失败就好了,因此正则中还有另外一种模式,独占模式,它类似贪婪匹配,但匹配过程不会发生回溯,因此在一些场合下性能会更好。

正则中量词默认是贪婪匹配,如果想要进行非贪婪匹配需要在量词后面加上问号。贪婪和非贪婪匹配都可能会进行回溯,独占模式也是进行贪婪匹配,但不进行回溯,因此在一些场景下,可以提高匹配的效率,具体能不能用独占模式需要看使用的编程语言的类库的支持情况,以及独占模式能不能满足需求。

 

 

有一篇英文文章,里面有很多单词,单词和单词之间是用空格隔开的,在引号里面的一到多个单词表示特殊含义,即引号里面的多个单词要看成一个单词。现在你需要提取出文章中所有的单词。我们可以假设文章中除了引号没有其它的标点符号,有什么方法可以解决这个问题呢?如果用正则来解决,你能不能写出一个正则,提取出文章中所有的单词呢(不要求结果去重)?we found “the little cat” is in the hat, we like “the little cat”其中 the little cat 需要看成一个单词

\w+|“[^”]*”

脱字符(^)代表以这个正则开头,美元符号($)代表以正则结尾

标签:匹配,正则表达式,模式,单词,正则,贪婪,回溯
From: https://www.cnblogs.com/anniedaniel/p/17091747.html

相关文章

  • 第24章 使用正则表达式解析文本文件
    第24章使用正则表达式解析文本文件正则表达式(regularexpression,或regex)能够非常有效地进行文本解析,你经常会在UNIX或Linux操作系统中用到。24.2正则表达式入门......
  • javascript的正则表达式
    什么是正则表达式?正则表达式是构成搜索模式(searchpattern)的字符序列。当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容。正则表达式可以是单字符,或者更复杂......
  • js 正则表达式 匹配除汉字、字母、数字、逗号、句号、括号外的特殊字符(用来规范输入内
    /[^\u4e00-\u9fa5a-zA-Z\d,.,。()]+/其中\u4e00-\u9fa5匹配汉字,a-zA-Z匹配字母,\d匹配数字,,.,。()匹配逗号、句号或括号,^表示非,+表示尽可能多的匹配。letnameReg=/^[a-zA-Z0-......
  • 正则表达式一
    1、元字符的概念我们提到了正则常见的三种功能,它们分别是:校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。    1.特殊单字符比如英文的......
  • Mastering Regular Expressions(精通正则表达式) 阅读笔记:前言
    GeneralConcept(一般概念)Ifyoumasterthegeneralconceptofregularexpressions,it'sashortsteptomasteringaparticularimplementation.如果你掌握了......
  • Python正则表达式匹配一段英文中包含关键字的句子
    1.问题/需求在含有多行文字的英文段落或一篇英文中查找匹配含有关键字的句子。例如在以下字符串:text='''TodayIregisteredmypersonalbloginthecnblogsandw......
  • 【Regex】判断密码强度的正则表达式
    原文地址https://www.cnblogs.com/younShieh/p/17082522.html❤如果本文对你有所帮助,不妨点个关注和推荐呀,这是对笔者最大的支持~❤ 需求  最近在最做一个软件的注......
  • MySQL(三)用正则表达式搜索
    正则表达式是用来匹配文本的特殊的串(字符集合),将一个模式(正则表达式)与一个文本串进行比较;所有种类的程序设计语言、文本编辑器、操作系统等都支持正则表达式,正则表达式用正则......
  • java正则表达式不包含特殊字符验证
    原文链接:https://blog.csdn.net/weixin_39625782/article/details/114674258packagecom.sodii.regex.demo;importjava.util.regex.Matcher;importjava.util.regex.Pa......
  • 正则表达式
    视频:正则表达式30分钟入门40分钟进阶(绝对能学会)【二倍速观看】测试网站:正则表达式在线测试【测试+可视化】内容回忆:参考手册......