Python常用正则表达式符号浅析

yipeiwu_com7年前Python基础

对Python中正则表达式的理解,主要就是对符号的理解,本文即对Python中常用的正则表达式符号进行简析。其主要的符号有:

.
默认匹配一个字符,不包含换行符,如果设置DOTALL则匹配换行符

^
匹配行首

$
匹配行尾

*
匹配0个或者多个重复

+
匹配一个或者多个重复

?
匹配一个或者零个重复

*?,+?,??
按照非贪婪模式匹配

{m},{m,n},{m,n}?
分别匹配m个重复,m至n个重复,m至n个重复按照非贪婪模式

\
转义

[]
[abc],[a-z][^a-z]
|
或者匹配 'a|b'
(...)
匹配组

(?iLmsux)

(?:...) (?P<name>...)
>>> re.match('(?P<name>abc){2}','abcabc').groupdict()
{'name': 'abc'}
(?P=name)
>>> re.match(r'(?P<name>abc)----(?P=name)','abc----abc').group()
'abc----abc'
(?#...) #后面的内容为注释
(?=...)

匹配的字符串后面的内容需要匹配

>>> re.match(r'phone(?=\d{3})','phone123').group()
'phone'#

(?!...)

匹配的字符后面内容不能匹配

>>> re.match(r'phone(?!\d{3})','phoneabc123').group()
'phone'
(?<=...)

匹配的字符串前面需要匹配

(?<!...) 匹配的字符前面不能匹配

(?(id/name)yes-pattern|no-pattern)
\number
\A 匹配字符串的开头
\b 匹配单词边界

\B
\b的反义

\d 表示[0-9]
\D表示 [^0-9]
\s表示 [ \t\r\n\f\v]
\S 为非空白字符
\w等价于 [a-zA-Z0-9]
\W \w的反义

\Z 匹配字符串的结束

相关文章

Python list与NumPy array 区分详解

1. 数据类型 type() #!/usr/bin/env python # -*- coding: utf-8 -*- # Yongqiang Cheng from __fut...

Python模拟百度登录实例详解

最近公司产品和百度贴吧合作搞活动,为了增加人气,打算做个自动签到的小程序。这个是测试登录的代码,写的比较随意,仅实现了登录并读取关注贴吧列表,下边的就比较简单。 百度登录还是有点麻烦的,...

跟老齐学Python之私有函数和专有方法

在任何语言中,都会规定某些对象(属性、方法、函数、类等)只能够在某个范围内访问,出了这个范围就不能访问了。这是“公”、“私”之分。此外,还会专门为某些特殊的东西指定一些特殊表示,比如类的...

基于Python Numpy的数组array和矩阵matrix详解

基于Python Numpy的数组array和矩阵matrix详解

NumPy的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类型、通过一个正整数元组索引的元素表格(通常是元素是数字)。 在NumPy中维度(dimensions)叫做轴(axe...

详解通过API管理或定制开发ECS实例

弹性管理 ECS 实例 获取 RAM 子账号 AK 密钥 使用API管理ECS实例,您需要能访问ECS资源的API密钥(AccessKey ID 和 AccessKey Secret)...