re模块

1.w匹配字母数字下划线
2.W匹配非字母数字下划线
3.s匹配任意空字符, , , ,空格
4.S匹配任意非空字符
5.d匹配0-9数字
6.D匹配非数字
7."^"从头开始匹配
8."$"从尾开始匹配
9.点(.)匹配任意1个非 字符,模式设置为DOTALL时,可以匹配任意一个字符
10.?:表示左边的字符可以出现0次或1次
11.:表示左边的字符可以出现任意次
12. .
匹配任意数目字符,匹配任意字符,贪婪匹配
13. .*? 非贪婪匹配
14.{m,n}:表示左边的那一个字符出现m到n次
15.()分组,只保留括号里的东西
16.[]括号内可以放任意字符,一个中括号表示一个字符,这一个字符来自中括号中定义的
[0-9a-zA-Z]
"^"出现在中扩号中时表示取反
当-需要被当做普通字符匹配时,而不是表示从哪到哪,只能放到最左边或最右边
17."|"管道符 表示或者
(a|b)表示a或者b,括号会只保留其中的内容,使用(?:a|b),取消括号的保留功能

re.search():找到匹配成功的第一个,返回的是一个对象,若需要返回结果,加.group()显示

re.match():功能与search基本相同,但是是从头找,头没找到就没找到

re.split()

import re
info = "a :cd/e"
pattern = "[:/]" # / 转义两个 /
res = re.split(pattern,info)
print(res)
['a ', 'c', 'd', 'e']

s="1-2((60-30+(-40/5)(9-25/3+7/399/42998+10568/14))-(-43)/(16-32))"
找出最内侧括号
pattern ="([^()]+)"
a = re.findall(pattern,s)

原文地址:https://www.cnblogs.com/robert-zhou/p/10040907.html