正则表达式规则

liaoxt liaoxt     2023-02-05     152

关键词:

写前,说一下目的,工作上时不时要用到正则,但又不愿意花时间去理解,都是直接度娘。现在为了一劳永逸,记录下正则的规则。

1、literal 指匹配字符串字面值。

例:‘literal‘ 指匹配字符‘literal‘;‘burning‘指匹配字符‘burning

2、reg1| reg2 指符合匹配reg1或者匹配reg2的

例:‘a|A‘指 匹配字母a 不区分大小写 ;‘b|B‘指  匹配字母b 不区分大小写

3、. 指匹配任何字符( 除外)

例:‘a.a‘指匹配字符左右都为‘a‘的字符串 如:‘aaa‘;‘aba‘;‘a2a‘等

4、^指匹配字符串起始部分 

例:‘^say‘指匹配以‘say‘开头的字符串

5、$ 匹配字符串终止部分

例:‘you$‘指匹配以‘you‘结尾的字符串

 

6、* 匹配 0 次或者多次前面出现的正则表达式 

例:‘6*‘指匹配‘6‘;‘66666‘的字符串;或没有‘6‘的情况

7、+ 匹配 1 次或者多次前面出现的正则表达式

例:‘6+‘指匹配至少包含一个‘6‘的字符串

8、?匹配 0 次或者 1 次前面出现的正则表达式 

例:‘6?‘指匹配最多包含一个‘6‘的字符串

9、N匹配 N 次前面出现的正则表达式 

例:‘[0-9]11‘指匹配11位数字的字符串;‘[A-Za-z0-9]11‘指匹配11位数字或字母的字符串

10、M,N匹配 M~N 次前面出现的正则表达式 

例:‘[0-9]6,11‘指匹配6到11位数字的字符串;‘[A-Za-z0-9]6-11‘指匹配6到11位数字或字母的字符串

11、[…] 匹配来自字符集的任意单一字符

例:‘[0-9]6,11‘指匹配6到11位数字的字符串;‘[A-Za-z0-9]6-11‘指匹配6到11位数字或字母的字符串

12、[..x?y..] 匹配 x~y范围中的任意单一字符

例:‘[0-9]‘指匹配0到9的字符串;‘[A-Za-z]‘指匹配英文字母(包含大小写)的字符串

13、[^…] 不匹配此字符集中出现的任何一个字符,包括某一范围的字符(如果在此字符集中出现)

例:‘[^0-9]‘指匹配非数字的字符串;‘[^0-9A-Za-z]‘指匹配非数字且非英文字母的字符串;

14、(*|+|?|)? 用于匹配上面频繁出现/重复出现符号的非贪婪版本(*、+、?、)

解释:
贪婪模式:就是在整个表达式匹配成功的前提下,尽可能多的匹配,也就是所谓的“贪婪”,通俗点讲,就是看到想要的,有多少就捡多少,除非再也没有想要的了。
非贪婪模式:就是在整个表达式匹配成功的前提下,尽可能少的匹配,也就是所谓的“非贪婪”,通俗点讲,就是找到一个想要的捡起来就行了,至于还有没有没捡的就不管了。

 

字符串:‘Thu Feb 15 17:46:04 2007::[email protected]::1171590364-6-8‘

 

表达式:.+(d+-d+-d+)
结果:
Match 1
Full match 0-61 `Thu Feb 15 17:46:04 2007::[email protected]::1171590364-6-8`
Group 1. 56-61 `4-6-8`
(Group1 匹配到的是`4-6-8`)

 

表达式:.+?(d+-d+-d+) # 注意,在加号后面,加了"?"
结果:
Match 1
Full match 0-61 `Thu Feb 15 17:46:04 2007::[email protected]::1171590364-6-8`
Group 1. 47-61 `1171590364-6-8`
(Group1 匹配到的是`1171590364-6-8`)

 

 

 

字符串:aa<div>test1</div>bb<div>test2</div>cc

 

表达式:<div>.*</div>
结果:<div>test1</div>bb<div>test2</div>

 

表达式:<div>.*?</div>
结果:<div>test1</div>(这里指的是一次匹配结果,所以没包括<div>test2</div>)

 

15、(…) 匹配封闭的正则表达式,然后另存为子组 

例:([0-9]3)?,f(oo|u)bar  匹配最多有一个三位数连接着‘foobar‘或‘fubar‘

 
















正则表达式

1.正则表达式本身和python没有什么关系,是一种独立的规则,独立的语言,是匹配字符串内容的一种规则。官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成... 查看详情

正则表达式

第1章 正则表达式1.1 正则表达式的概念正则表达式(英语:RegularExpression,在代码中常简写为regex)。正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开... 查看详情

正则表达式

 正则表达式的概念  正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来检索、替换那些符合某个规则的文本。正则表达式的... 查看详情

java_正则表达式&时间日期

正则表达式1.概念正则表达式(英语:RegularExpression,在代码中常简写为regex)。正则表达式是一个字符串,使用单个字符串来描述、用来定义匹配规则,匹配一系列符合某个句法规则的字符串。在开发中,正则表达式通常被用来... 查看详情

java正则表达式

正则表达式到底是什么东西?正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。在编写处理字符... 查看详情

正则表达式

一、什么是正则表达式?有人说,正则表达式是一种特殊的字符串模式,用于匹配一组字符串,就好比用模具做产品,而正则就是这个模具,定义一种规则去匹配符合规则的字符。有人说,在编写处理字符串的程序或网页时,经... 查看详情

正则表达式

一正则表达式和re模块 1什么叫做正则表达式:这则表达式是字符串的一种筛选规则 2正则表达式的好处:1,1匹配:检测字符串是否符合正则表达式的规则,否则返回False。           1,2切割:按照一定的规则将字... 查看详情

正则表达式--规则表达式

今天学习了正则表达式的一些基础知识,1.概念:首先了解了一下正则表达式的含义:一些便于计算机识别的规则,能够快速方便地对字符进行操作。正如我们人都是有常识的,当我们遇到像:15733541865,[email protected]这样的... 查看详情

shapache重写规则正则表达式(代码片段)

查看详情

正则表达式常见规则

     []:匹配[]中定义的任意字符;    {3,10}:前一个规则最少出现3次,最多出现10次;    {3,}:前一个规则最少出现3次,没有上限;    {3}:前一个规则只能出现3... 查看详情

正则表达式

  正则表达式,又叫规则表达式,我们写一个正则表达式,其实就是写一个规则,那么写一个规则干什么呢?去匹配字符串,就是看看字符串中有哪个部分和我们定义的规则相符合,找到这些匹配的字符,我们就可以进行字符... 查看详情

正则表达式书写规则说明

一、说明我曾经看过无数的正则表达式文章,然而每当我再次需要书写仍然感觉无从下手,一如既往需要百度“IP正则表达式”、“URL正则表达式”。反思这种现像的原因,一是很多文章都是授之以鱼的比如直接告诉你URL的正则... 查看详情

正则表达式-匹配规则

正则表达式- 匹配规则基本模式匹配一切从最基本的开始。模式,是正则表达式最基本的元素,它们是一组描述字符串特征的字符。模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围... 查看详情

正则表达式

正则表达式,又称规则表达式。(英语:RegularExpression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。概念正则表达式是对字符串操作的一种逻辑公... 查看详情

正则表达式

1、正则表达式的概念正则表达式:英文RegularExpression,代码中经常简写为regex。正则表达式是一个字符串,用来定义匹配规则,匹配一些列符合句法规则的字符串。在开发中,正则表达式通常被用来检索,替换那些符合某个规则... 查看详情

Laravel 规则和正则表达式 (OR) 运算符的问题

】Laravel规则和正则表达式(OR)运算符的问题【英文标题】:IssuewithLaravelRules&Regex(OR)operator【发布时间】:2014-05-0101:16:42【问题描述】:我的Laravel规则和正则表达式操作有一个小问题:基本上,规则就是这样的数组:\'room\'=>\... 查看详情

02019_正则表达式规则匹配练习

1、请写出满足如下匹配规则的字符串。  (1)规则:"[0-9]{6,12}"  该规则需要匹配的内容是:长度为6位到12位的数字;  如:使用数据"123456789"进行匹配结果为true;  使用数据"12345"进行匹配结果为false。  (2)规则... 查看详情

thinkphp验证器正则常用规则

...置规则为require、email之类的,其实这些本身也是属于正则表达式验证方式,只是系统内置定义了一些常用的正则表达式而已。这些内置的正则表达式的定义可以参考model类的regex方法,内置支持的正则定义包括:require字段必须、e... 查看详情