1.概述
正则表达式在文本编辑领域内的作用是不用质疑的,它是强大、便捷、高效的文本处理工具。
2.特殊字符
所谓特殊字符,就是一些有特殊含义的字符,若要匹配这些特殊字符,必须首先使字符"转义",即,将反斜杠字符\放在它们前面。
3.Python字符匹配模式
re模块中的findall函数可以对指定的字符串进行遍历匹配,获取字符串中所有匹配的子串,并返回一个列表结果。该函数的参数含义如下。
findall(pattern,string,flags=0)
pattern:指定需要匹配的正则表达式。
string:指定待处理的字符串。
flags:指定匹配模式,常用的值可以是re.I、re.M、re.S和re.X。re.I的模式是让正则表达式对大小写不敏感;re.M的模式是让正则表达式可以多行匹配;re.S的模式指明正则符号.可以匹配任意字符,包括换行符\n;re.X模式允许正则表达式可以写得更加详细,如多行表示、忽略空白字符、加入注释等。
4.范例
匹配以struct开头以Suite;结尾的字符串。非贪婪模式匹配。
groups=re.findall(r'struct.*?Suite;',data,flags=re.S);