正则表达式入门量词

hahazexia hahazexia     2022-08-10     339

关键词:

1
22
333
4444
55555
666666
7777777
88888888
999999999
0000000000

将排列成直角三角形的数字粘贴到程序中。
贪心,懒惰和占有
量词本身是贪心的,贪心的量词会首先匹配整个字符串。尝试匹配时,它会选定尽可能多的内容,也就是整个输入。量词首次尝试匹配整个字符串,如果失败则回退一个字符后再尝试,这个过程叫做回溯。它每次回退一个字符,知道找到匹配内容或者没有字符尝试为止。
懒惰的意思就是它从目标的起始位置开始尝试寻找匹配,每次检查字符串的一个字符。最后它会尝试匹配整个字符串。要使一个量词成为懒惰的,必须在普通量词后添加一个问好?
占有量词会覆盖整个目标然后尝试寻找匹配内容,但它只尝试一次,不会回溯。占有量词就是在普通量词之后添加一个加号。

用*,+和?进行匹配
在工具中输入

.*

它会以贪心的方式匹配文本中的所有字符。*匹配任何字符零次或多次。
贪心的量词


匹配特定次数
使用花括号可以限制某个模式在某个范围内匹配的次数,未修饰的量词是贪心量词。
例如:

7{1}

会匹配第一次出现的7,要匹配一个或多个7,只需要加一个逗号:

7{1,}

所以,7+其实和7{1,}是一样的。
那么,7*其实和7{0,}是一样的。
最后,7?其实和7{0,1}是一样的
范围语法

懒惰量词

在工具中用?来匹配零个或一个5

5?

再加一个?使量词编程懒惰的

5??

现在它不匹配任何内容了,因为现在的模式是懒惰的。它不会强制匹配第一个5,懒惰的基本特性就是匹配尽可能少的字符

试一下匹配零个或多个

5*?

它也不匹配任何内容,因为它选择匹配最少的次数,零次。

试一下匹配一个或多个

5+?

它匹配了一个5,它选择了最少的次数,一次。

使用m和n的方式也是一样的

5{2,5}?

它将匹配2个5,而不是5个。

如果你想匹配最少而不是最多的数目,就使用懒惰量词。

占有量词

占有式量词很像贪心式量词,它会选择尽可能多的内容,但它不回溯。它不会放弃找到的内容,它很自私。优点是速度快。

我们先匹配以零开头的多个零,然后再匹配以零结尾的多个零。

0.*+

所有零都被标亮了。

.*+0

不匹配任何内容。因为它没有回溯,一下子选定了所有的输入,不再回来查看。它一下子没有在结尾找到零,也不知该从哪里找起。

java正则表达式-量词

正则表达式-量词1概述所谓量词,可以理解为用来描述某个字符(字符组)重复出现的次数。举个例子,11位数的电话号码,如果不考虑前三位的固定组合,用正则表达式写成:ddddddddddd其中d重复了11次,十分不方便,所以就引入... 查看详情

java正则表达式-量词

正则表达式-量词1概述所谓量词,可以理解为用来描述某个字符(字符组)重复出现的次数。举个例子,11位数的电话号码,如果不考虑前三位的固定组合,用正则表达式写成:ddddddddddd其中d重复了11次,十分不方便,所以就引入... 查看详情

正则表达式无效的量词?

】正则表达式无效的量词?【英文标题】:RegexInvalidquantifier?【发布时间】:2016-10-2417:44:41【问题描述】:我正在使用带有JavaScript的正则表达式,但我遇到了一些问题,它返回给我Invalidquantifier?。这是代码:if(url.match(newRegExp(\'^h... 查看详情

正则表达式量词语句失败

】正则表达式量词语句失败【英文标题】:RegexQuantifierStatementFails【发布时间】:2019-10-0114:27:47【问题描述】:我需要我的正则表达式来执行以下操作:需要:a-z0次,0-90-3次,&0-多次,""0-1次,至少为8个字符。我也使用这个... 查看详情

这两个正则表达式有啥区别? (理解?量词)

】这两个正则表达式有啥区别?(理解?量词)【英文标题】:What\'sthedifferencebetweenthistworegularexpressions?(Understanding?Quantifier)这两个正则表达式有什么区别?(理解?量词)【发布时间】:2016-08-1915:01:26【问题描述】:在EloquentJav... 查看详情

正则表达式匹配

常用的元字符:一般用于转义字符^断言目标的开始位置(或在多行模式下是行首)$断言目标的结束位置(或在多行模式下是行尾).匹配除换行符外的任何字符(默认)[开始字符类定义]结束字符类定义|开始一个可选分支(子组的开始标... 查看详情

所有格量词正则表达式的实际使用

】所有格量词正则表达式的实际使用【英文标题】:Practicaluseofpossessivequantifiersregex[duplicate]【发布时间】:2018-06-2815:42:04【问题描述】:我了解.*(贪婪量词)回溯并尝试找到匹配项。并且.*+(占有量词)不会回溯。但是我经常... 查看详情

正则表达式 Python / 组量词

】正则表达式Python/组量词【英文标题】:RegexPython/groupquantifiers【发布时间】:2011-10-1200:25:44【问题描述】:我想匹配一个看起来像目录的变量列表,例如:Same/Same2/Foot/Ankle/Joint/Actuator/Sensor/Temperature/Value=4.123Same/Same2/Battery/Name=Som... 查看详情

Javascript正则表达式量词:匹配零次或多次是啥意思

】Javascript正则表达式量词:匹配零次或多次是啥意思【英文标题】:Javascriptregularexpressionquantifiers:whatdoesitmeantomatchzeroormoretimesJavascript正则表达式量词:匹配零次或多次是什么意思【发布时间】:2020-04-2104:35:12【问题描述】:所... 查看详情

在 JavaScript 正则表达式中使用 1+ 所有格量词时出现正则表达式错误

】在JavaScript正则表达式中使用1+所有格量词时出现正则表达式错误【英文标题】:RegexeErrorwhenusing1+possessivequantifierinJavaScriptregex在JavaScript正则表达式中使用1+所有格量词时出现正则表达式错误【发布时间】:2014-10-0500:28:57【问题... 查看详情

为啥我的正则表达式组量词不起作用?

】为啥我的正则表达式组量词不起作用?【英文标题】:Whydoesmyregexgroupquantifiernotwork?为什么我的正则表达式组量词不起作用?【发布时间】:2016-11-3021:50:03【问题描述】:我尝试为荷兰车牌(kentekens)编写一些正则表达式,thedocume... 查看详情

正则表达式——转义(代码片段)

...优先量词和忽略优先量词,现在介绍量词的转义。在正则表达式中,*、+、?等作为量词的字符具有特殊意义,但有些情况下只希望表示这些字符本身,此时就必须使用转义,也就是在它们之前添加反斜线。对常用量词所使用的字... 查看详情

正则表达式量词加号和星号之间的区别

】正则表达式量词加号和星号之间的区别【英文标题】:Differencebetweenregexquantifiersplusandstar【发布时间】:2014-06-3014:29:07【问题描述】:我尝试从"Wrongparameters-Error1356"之类的字符串中提取错误号:Patternp=Pattern.compile("(\\\\d*... 查看详情

正则表达式 - 将 C# 正则表达式转换为 JavaScript 正则表达式的量词的目标无效

】正则表达式-将C#正则表达式转换为JavaScript正则表达式的量词的目标无效【英文标题】:Regex-InvalidtargetforquantifierwhichconvertingC#RegextoJavaScriptRegex【发布时间】:2016-03-2511:53:39【问题描述】:我正在尝试转换来自MSDNsample的C#电子邮... 查看详情

正则表达式量词 - 两个字符之间的数量

】正则表达式量词-两个字符之间的数量【英文标题】:Regexquantifiers-asmanybetweentwocharacters【发布时间】:2017-08-0213:42:44【问题描述】:我正在尝试查找两个字符之间的所有文本,但有时字符串包含分隔符。例如,如果我使用(.*?)=(... 查看详情

一起学习正则表达式量词与贪婪(代码片段)

...7本文出自容华谢后的博客往期回顾:《一起学习正则表达式(一)那些让人头晕的元字符》《一起学习正则表达式(二)量词与贪婪》《一起学习正则表达式(三)分 查看详情

bash 中的正则表达式量词——简单与扩展匹配 n 次

】bash中的正则表达式量词——简单与扩展匹配n次【英文标题】:regexquantifiersinbash--simplevsextendedmatchingntimesbash中的正则表达式量词——简单与扩展匹配n次【发布时间】:2020-10-1611:13:33【问题描述】:我正在使用bashshell并尝试列... 查看详情

贪婪量词的 ASP.Net 正则表达式问题

】贪婪量词的ASP.Net正则表达式问题【英文标题】:ASP.NetRegularExpressionissueforgreedyquantifiers【发布时间】:2011-11-2406:28:56【问题描述】:我有asp.net应用程序,其中字符串是按以下方式创建的。stringabc;abc="vindo|vindo|vind?40|vind?40|vincentv... 查看详情