python-正则相关知识(待补充)
正则符号
^ 字符串开头
$ 字符串结尾
. 匹配任意字符,除了换行符,
[...] 用来表示一组字符,单独列出:
[amk]匹配'a','m','k'
[^...] 不在[]中的字符
re* 匹配0个或多个的表达式
re+ 匹配1个或多个的表达式
re? 匹配0个或1个由前面的正则表达式定义的片段,非贪婪方式
re{n} 匹配n个前面表达式。例如,"o{2}"不能匹配"Bob"中的"o",但能匹配"food"中的两个o。
re{n,} 精确匹配n个前面表达式。>=n个
re{n,m}
匹配n到m次由前面的正则表达式定义的片段,贪婪方式
a|b 匹配a或b
(re) 匹配括号内的表达式,也表示一个组
------------------------------
re
re.match() 匹配字符串开头
re.search() 搜索配置整个字符串
re.sub(pattern,repl,string) 替换字符串中的匹配项
pattern:正则
repl:替换的字符串,可以是一个函数
string:要被查找替换的 原始字符串
re.compile(pattern,[,flags]) 函数
用于编译正则表达式,生成一个正则对象,供match()和search()两个函数使用
re.I:忽略大小写
re.L: 表示特殊字符集\w,\W,\b,\B,\s,\S 依赖于当前环境
re.M:多行模式
re.S:即为'.'并且包括换行符在内的任意字符('.'不包括换行符)
re.U:表示特殊字符集\w,\W,\b,\B,\d,\D,\s,\S依赖于Unicode字符属性数据库
re.X:为了增加可读性,忽略空格和'#'后面的注释