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

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

========

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

d  数字:

D 非数字

s 匹配任何空白字符

S 非空白字符

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

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

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

 仅匹配字符串结尾,同$

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

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*oow*')
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

原文地址:https://www.cnblogs.com/li-daphne/p/7211810.html