[\s]表示,只要出现空白就匹配
[\S]表示,非空白就匹配
\s:用于匹配单个空格符,包括tab键和换行符;
\S:用于匹配除单个空格符之外的所有字符;
\d:用于匹配从0到9的数字;
\D: 除0-9的数字以外的任何字符
\w:用于匹配字母,数字或下划线字符;
\W:用于匹配所有与\w不匹配的字符;
. :用于匹配除换行符之外的所有字符。
“+”元字符规定其前导字符必须在目标对象中连续出现一次或多次。 加号紧跟于分组后表示前面分组的内容匹配至少1次
“*”元字符规定其前导字符必须在目标对象中出现零次或连续多次。星号紧跟于分组后表示前面分组的内容匹配0次或多次
“?”元字符规定其前导对象必须在目标对象中连续出现零次或一次。问号紧跟于分组后表示前面分组的内容是可有可无的
| 管道匹配多个分组
{}花括号内加数字表示匹配特定字数
.句点表示匹配任何字符(除了换行)
使用步骤:
1、用import re
导入正则表达式模块;
2、用re.compile()
函数创建一个Regex 对象;
compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。
3、向Regex 对象的search()
或findall()
方法传入目标字符串;
re.search 扫描整个字符串并返回第一个成功的匹配。
findall 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。
match 和 search 是匹配一次 findall 匹配所有。
4、调用Matches 对象的group()
方法,返回实际匹配文本的字符串。
re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。
可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
group(num=0) | 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。 |
groups() | 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。 |