python 正则表达式

  • A+
所属分类:python基础入门

描述规则

Python中的re模块

re.match(正则表达式,匹配的字符)

re.match() 能够匹配出以xxx开头的字符串

re.match是用来进行正则匹配检查的方法,若字符串匹配正则表达式,则match方法返回匹配对象(Match Object),否则返回None(注意不是空字符串"")。

python 正则表达式

单字符匹配

字符

功能

.

匹配任意1个字符(除了

[ ]

匹配[ ]中列举的字符

d

匹配数字,即0-9

D

匹配非数字,即不是数字

s

匹配空白,即 空格,tab键

S

匹配非空白

w

匹配单词字符,即a-z、A-Z、0-9、_

W

匹配非单词字符

[a-z7-9] a到z 和7到9

d ==[0-9]

D==[^0-9]

w==[a-z 0-9]

原始字符串

Python中字符串前面加上 r 表示原生字符串

假如你需要匹配文本中的字符"",那么使用编程语言表示的正则表达式里将需要4个反斜杠""

表示数量的信息

字符

功能

*

匹配前一个字符出现0次或者无限次,即可有可无

+

匹配前一个字符出现1次或者无限次,即至少有1次

?

匹配前一个字符出现1次或者0次,即要么有1次,要么没有

{m}

匹配前一个字符出现m次

{m,}

匹配前一个字符至少出现m次

{m,n}

匹配前一个字符出现从m到n次

字符串中的转义字符 需多次转义

字符串前 r 忽略转义字符

边界信息

字符

功能

^

匹配字符串开头

$

匹配字符串结尾



匹配一个单词的边界

B

匹配非单词边界

匹配分组

字符

功能

|

匹配左右任意一个表达式

(ab)

将括号中字符作为一个分组

um

引用分组num匹配到的字符串

(?P<name>)

分组起别名

(?P=name)

引用别名为name分组匹配到的字符串

re的高级使用

search 匹配 匹配到一个后就停止

findall 所有的都列出来

sub (正则表达式,替换,处理的字符串) 将匹配到的数据进行替换

split根据匹配切割字符串进行 ,并返回一个列表

贪婪模式

Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符;

解决方式:非贪婪操作符"?",这个操作符可以用在"*","+","?"的后面,要求正则匹配的越少越好

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: