python 正则表达式介绍汇总

2020-09-30 admin (48) (0) python测试>正则
  

版权申明

1.本站部分文章收集于互联网,不承担任何责任和版权问题。

2.若有侵权内容、不妥之处,请联系我们确认后立即删除。

3.本站文章仅供学习研究用途,请勿用于商业目的。

4.联系邮箱 pysnake@qq.com

详情介绍

常用元字符

 

 

代码

说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

 

常用限定符

代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m}

重复n到m次

 

 

 

常用反义词

代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou]

匹配除了aeiou这几个字母以外的任意字符

 

 

 

常用模式修正符

代码/语法 说明
i 表示在进行匹配的时候不区分大小写
m 多行识别.即将字符串视为多行,不管是那行都能匹配
s 将字符串视为单行,转义回车换行符作为普通字符
g 表示全局匹配
x 将模式中的空白忽略
A 强制从目标字符串开头匹配
D

强制尾部无任何内容.若使用$限制

结尾字符,则不允许结尾有换行

U

禁止贪婪匹配,只匹配

最近的一个字符串(不重复匹配)

e

配合PHP函数preg_replace()使用,

可以把匹配来的字符串当作正则表达式执行

jmeter中常用的正则几点:

():括起来的部分就是要提取的。 
.:匹配除换行外的任何字符串。 
+:代表+号前面的字符必须至少出现一次(一次或多次)。 
?:代表?

前面的字符最多可以出现一次,在找到第一个匹配项后停止(0次或1次)。 
:代表号前面的字符可以不出现,也可以出现一次或者多次(0次、1次或者多次) 
(.*):贪婪模式,匹配尽可能多的字符 
(.*?)或(.+?):匹配尽可能少的字符,一旦匹配到第一个就不往下走了

检索:

re.findall("正则",对象)

正则表达式组成:

元字符,抽象字符串,比如\d表示0到9

普通字符,即常量字符串

字符集 单一字符:

正则 字符集 单一字符

[abc] 匹配到a或b或c

相反 [^ab]匹配不是a或b

[a-d] 匹配a或b或c或d

概括字符集

\d相等于[0-9]

正则表达式 数量词:

a{3}匹配到3个a

a{3,6}匹配到3到6个a

 贪婪 非贪婪:

贪婪,比如a{3,6}匹配到3到6个a,尽可能匹配到6个字符

非贪婪,比如a{3,6}?匹配到3到6个a,尽可能匹配到3个字符

正则表达式 匹配0次1次或者无限次:

* 对前面字符匹配0次或者无限次

+ 对前面字符匹配1次或者无限次

? 对前面字符匹配0次或者1次

边界符:

开始用^ 结尾用$

组:

使用()里面且关系

区别[]里面或关系

匹配模式参数:

re.findall(正则,对象,匹配模式参数)

re.I忽略字符大小写

re.S支持所有字符包括换行符

多个使用竖线|

替换:

re.sub(正则,替换的内容,对象,第四个参数默认0表示全替换.1表示替换1次,第五个参数匹配模式参数)

第四,五个参数默认不写 

动态替换:替换内容可以是函数名

 

 

 

 

 

 


需要登录后才可回复

共有0条留言