[关闭]
@qidiandasheng 2021-04-22T23:04:07.000000Z 字数 1078 阅读 1852

Python正则表达式(😁)

Python&Ruby


re模块

Python通过re模块提供对正则表达式的支持。使用re的一般步骤是先将正则表达式的字符串形式编译为Pattern实例,然后使用Pattern实例处理文本并获得匹配结果。

re模块下的函数:

函数 描述
compile(pattern) 创建模式对象
search(pattern,string) 在字符串中寻找模式
match(pattern,string) 在字符串开始处匹配模式(如果开头处匹配不到则匹配失败)
split(pattern,string) 根据模式分割字符串
findall(pattern,string) 列表形式返回匹配项
sub(pat,repl,string) pat匹配项用repl替换
escape(string) 特殊字符转义

匹配模式re.compile(strPattern[, flag])

这个方法是Pattern类的工厂方法,用于将字符串形式的正则表达式编译为Pattern对象。 第二个参数flag是匹配模式,取值可以使用按位或运算符'|'表示同时生效,比如re.I | re.M。另外,你也可以在regex字符串中指定模式,比如re.compile('pattern', re.I | re.M)re.compile('(?im)pattern')是等价的。

匹配模式 说明
I(IGNORECASE) 匹配时不区分大小写
M(MULTILINE) 更改^$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的精确含意是:匹配每一行的末尾)
S(DOTALL) 更改.的含义,使它与每一个字符匹配(包括换行符\n
L(LOCALE) 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定
U(UNICODE) 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性
X(VERBOSE) 这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释。

参考

Python正则表达式指南
Python 之 【re模块的正则表达式学习】
python的正则提取示例

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注