match方法

常用匹配符

符号 描述
. 匹配任意字符(除了\n)
[ ] 匹配列表中的字符
\w 匹配字母a~z A~Z、数字0~9、下划线_
\W 匹配不是字母a~z A~Z、数字0~9、下划线_
\s 匹配空白字符,即\n, \t, \r, 空格
\S 匹配不是空白字符
\d 匹配数字0~9
\D 匹配非数字的字符

常用限定符

符号 描述 符号 描述
* 匹配0次或多次 {m} 重复m次
+ 匹配1次或多次 {m,n} 重复m到n次,其中n可以省略,表示m到任意次
匹配1次或0次 {m, } 至少m次

边界字符

字符 功能
^ 匹配字符串开头
$ 匹配字符串结尾
\b 匹配一个单词的边界
\B 匹配非单词的边界

匹配单个字符

re.match尝试从字符串的起始位置匹配的一个模式。

import re
text = 'hello'
ret = re.match('he',text)
print(ret.group())
>> he

点(.)匹配任意字符

text = 'ab'
ret = re.match('.',text)
print(ret.group())
>> a

但是 点(.)匹配不到换行符,例如:

text = '\\n'
ret = re.match('.',text)
print(ret.group())
>> AttributeError: 'NoneType' object has no attribute 'group'

\d 匹配任意数字(0~9)

text = '5'
ret = re.match('\\d',text)
print(ret.group())
>> 5

\D 匹配任意非数字

text = '='
ret = re.match('\\D',text)
print(ret.group())
>> =

\s 匹配空白字符(包含:\n, \t, \r, 空格)