python 正则表达式



#2元字符: . ^ $ * + ? { } [ ] | ( ) \
.只能代指任意一个字符
^从头开始匹配
$结尾匹配
*重复匹配(0,+00)
+重复匹配(1,+00)
?匹配(0,1)个
{}匹配任意个数 {5}或{1,3}
小结:*等价于{0,正无穷}
+等价于{1,正无穷}
?等价于{0,1}
{1,}等价于{1,+00}
字符集[]
[a-z][a-zA-Z][a-zA-Z0-9]=[a-z,A-Z,0-9],,[a,b,c]
[]还有取消元字符特殊功能的作用。
  [w,*]里面的*没有特殊功能(\,^,-)除外
  [^]取反
  [a-z]a至z

#\
#反斜杠后边跟元字符去除特殊功能
#反斜杠后边跟普通字符实现特殊功能
#引用序号对应的字组所匹配的字符串
ret=re.search(r"(alex)(eric)com\2","alexericcomeric")
print(ret)

#\d 匹配任何十进制数:它相当于类[0-9]
#\D 匹配任何非数字字符:它相当于类[^0-9]
#\s 匹配任何空白字符:它相当于类[ \t\n\r\f\v]
#\S 匹配任何非空白字符:它相当于类[^ \t\n\r\f\v]
#\w 匹配任何字母数字字符:它相当于类[a-zA-Z0-9]
#\W 匹配任何非字母数字字符:它相当于类[^a-zA-Z0-9]
#\b 匹配一个特殊字符边界。


|或
()分组


正则表达式的方法
1、re.findall()返回的是一个列表
2、re.search()返回匹配到的第一个对象(object),对象可以调用group()返回结果
3、re.match():只在字符串开始匹配
re.match(‘asf‘,’asfddfadfadf’)
4、re.split():分割
re.split('[ks]','djksal')
5、re.sub():更改\替换
sub('a..x','s..b','hfjasalexxdhf')

re.compile()
obj = re.compile('\.com')
ret = obj.findall('fhasjd.comhfajld')

——

posted @ 2021-04-16 10:05  戴云山庄  阅读(66)  评论(0)    收藏  举报