首页 > 代码库 > 正则表达式

正则表达式

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第二个参数)

正则表达式