正则表达式
1.使用步骤
①用import.re导入正则表达式模块
②用re.compile()函数创建一个Regex对象(记得用原始字符串r'…')
③向Regex对象的search()方法传入想要找的字符串,返回一个Match对象
④调用Match对象的group()方法,返回实际匹配文本的字符串
2.符号匹配
?匹配 零次或者一次前面的分组
*匹配 零次或者多次前面的分组
+匹配 一次或者多次前面的分组
{n}匹配 n次前面的分组
{n,}匹配 n次或者更多次前面的分组
{,m}匹配 零次到m次前面的分组
{n,m}匹配 至少n次,至多m次前面的分组
{n,m}?或*?或+? 对前面的分组进行非贪心分配
^spam 字符串必须以spam开始
spam$ 字符串必须以spam结束
. 匹配 所有字符,换行符除外
.*匹配 任意文本
\d、\w、\s匹配 数字,单词和空格
\D、\W、\S匹配 除数字,单词和空格以外所有字符
[abc]匹配 方括号内任意字符
[^abc]匹配 不在方括号内的任意字符
3.模式匹配功能
用括号()分组
用通配符 | 匹配多个分组(‘管道字符’,‘按位或’操作符)
findall() 返回所有匹配
sub()替换字符串(两个参数)
re.DOTALL 匹配所有字符(配合.*一起,作为re.compile第二个参数)
re.IGNORECASE或re.I 不分大小写匹配(作为re.compile第二个参数)
re.VERNOSE 忽略表达式字符串中的空格和注释(作为re.compile第二个参数)