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* 至少重复两次以上