1.re.findall('a','abcdefaaa')
返回一个匹配列表
2.元字符 .代表任意一个字符 ^代表以后面一个字符开头 $代表用前面那个字符结尾
次数 *前面的字符出现0次或者任意次数
+前面的字符至少出现一次,最多出现次数无限制
?前面的字符出现0次或者1次
{2,,6}前面的字符出现次数的范围用手动设置
3.[] 包含范围,以上元字符在[]不再有特殊意义
- 在[]中代表范围 ^在[]中代表非的意思 \在[]表示转义字符
4.\b 匹配一个单词的边界,用来匹配单词的词首和词尾,词尾就是用空白符或者非字母数字符来标示.
5.分组
提取匹配成功的指定内容(先匹配成功全部正则,再匹配成功的局部内容提取出来)
去已经匹配成功的内容中,再进行提取内容
6.浏览器认识的字符串
1.HTML字符串
2.JSON字符串
3.XML字符串
1.以xml文件存在的方式
2.通过发送远程请求返回来的字符串数据
3.每一个节点都是element类型
4.xml包含element和elementTree两种数据类型
5.elementTree对象具有把xml文件从内存中写入文件的功能
7.before,nothing,after = re.split('\(([\+\-\*\/]*\d+\.*\d*){2,}\)',expression,1)
1.\(括号开头 ([\+\-\*\/]*这里面的括号是分组的意思) \)括号结尾
2.[\+\-\*\/]* 字符串可以用加减乘除符号开头,最后面的*号运算符号可以出现0或者任意次数
3.[\+\-\*\/]*\d+ 如果字符串开始有运算符号,则运算符号后面紧跟一个\d数字,否则要以数字开头
4.d+ \d代表数字+表示至少出现一个数字,最多出现无数次数字
5.\.* \.表示转义.符号代表出现小数点,*代表可以出现0次或者无限次数,3....2也会被匹配到
6.\d * 代表.后面可以不出现数字,也可以出现无数个数字.
7.{2,} 表示前面的规则 [\+\-\*\/]*\d+\.*\d* 至少重复两次以上