正则表达式
元字符
^ 匹配输入字符串的开始位置
$ 匹配输入字符串的结束位置
. 匹配除了换行符以外的任意一个单字符
\d 匹配任意一位数字
* 匹配前面的子表达式零次或多次
+ 匹配前面的子表达式一次或多次
? 匹配前面的子表达式零次或一次
(patter) 匹配patter
{n} n是一个非负整数,匹配确定的n次
{n,} 同上,至少匹配n次
{1,10} 匹配介于1个到10个之前的表达式
[xyz] 匹配所包含的任意字符,
例: '[abc]' 可以匹配 "plain" 中的 'a'。
[a-z] 字符范围。匹配指定范围内的任意字符
[A-Za-z] 匹配a到z之间任意字符,不分大小写
[^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符
re模块:
1 findall() 所有结果都返回到一个列表里
r2 = re.findall('asd', 'asdljdfasd')
print(r2)
返回结果:['asd', 'asd']
2 search()返回匹配到的一个对象,对象可以调用group()返回结果
r2 = re.search('asd', 'aljdfasd')
print(r2)
print(r2.group())
返回结果:
<_sre.SRE_Match object; span=(5, 8), match='asd'>
asd
3 match()只在字符串开始匹配
r1 = re.match('asd','asdljdfasd')
print(r1)
print(r1.group())
返回结果:
<_sre.SRE_Match object; span=(5, 8), match='asd'>
asd