python中的re模块,常用函数介绍

时间:2021-10-29 00:04:11

参考: http://www.cnblogs.com/tina-python/p/5508402.htm

========

1,预定义字符集,可以写在字符集[....]中

\d  数字:

\D 非数字

\s 匹配任何空白字符

\S 非空白字符

\w 匹配包括下划线在内的任何字符

\W 匹配非字母字符,即匹配特殊字符

\A 仅匹配字符串开头,同^

\Z 仅匹配字符串结尾,同$

\b 匹配\w和\W之间,即匹配单词边界

\B [^\b]

 2,特殊用法

(?P<name>) 分组,除了原有的编号为再指定一个额外的别名

(?P=name)引用别名为<name>的分组匹配的字符串

\<number>引用编号为<number>的分组匹配到字符串

 

3,re模块中常用的功能函数

3.1 compile()

编译正则表达式,返回一个对象的模式。

格式:

re.compile(pattern,flags=0)

pattern:编译时用的表达式字符串

flags 编译标志位,用于修改正则表达式的匹配方法,如:是否区分大小写,多行匹配

常用的flags有:

标志 含义
re.S(DOTALL) 使.匹配包括换行在内的所有字符
re.I (ignorecase) 使匹配对大小写不敏感
re.L (locale) 做本地化识别(local-aware),语法
re.M (multiline) 多行
re.X (verbose)  
re.U unicode 字符集解析
#coding:utf-8

import re
def token_stream(line):
return re.findall(r'\w+',line,re.I)

tt
= "Tina is a good girl, she is cool, clever, and so on..."
rr
= re.compile(r'\w*oo\w*')
print(rr.findall(tt))

3.2 match

3.3 search

3.4 findall

3.5 finditer

3.6 split

3.7 sub

3.8 subn