正则表达式笔记
一、字符类型
1、 . 表示任意字符
2、\d 表示数字
3、\D 表示非数字
4、\w 表示a-z,A-Z,0-9以及中文
5、\s 表示空(空格或TAB)
6、[a\d] 表示字母a或任意数字,[]里面是选择内容
二、计数
1、* 表示任意个
2、+ 表示至少一个
3、?表示0或1个
4、{m} 表示m个
5、{n,m} 表示n到m之间任意个
三、其它
1、^ 表示开头
2、$ 表示结尾
3、\ 转义字符,如果需要用到.?"等字符,需要在前面加\转义
四、组
1、()扩起来的内容称为组,正则匹配的内容可以用.group读取,组的内容用.group(组号)读取
2、()还可以和|连用,如(163.com|126.com) 匹配163.com或者126.com
3、\组号 在正则中调用自己组的值,如
re.match(r"<(\w*)><(\w*)>.*</\2>",'''<h3><h1> class="description">职位描述:</h1></h3>''')
输出
<h3><h1> class="description">职位描述:</h1>
五、方法
1、re.match(r"", str) # 从头开始匹配相当于re.search(r"^", str) ,返回一个对象
2、re.findall(r"", str) 匹配所有满足条件的字符串,返回一个列表
3、re.sub(r"", "", str) 将str里面所有满足条件的字符串都替换为""里面的内容,返回替换后的字符串