day33 Pyhton 常用模块03

一.正则表达式:

  1.元字符

    . 匹配除换行符以外的任意字符

    \w 匹配字母或数字或下划线

    \s 匹配任意的空白符

    \d 匹配数字

    \n 匹配一个换行符

    \t 匹配一个制表符

    \b 匹配一个单词的结尾

    ^ 匹配字符串的开始

    $ 匹配字符串的结尾

    \W 匹配非字母或数字或下划线

    \D 匹配非数字

    \S 匹配非空白符

    a|b 匹配字符a或字符b

    () 匹配括号内的表达式,也表示一个组

    [...] 匹配字符组中的字符

    [^...] 匹配除了字符组中字符的所有字符

  2.量词

     *  重复零次或更多次

    + 重复一次或更多次

    ? 重复零次或一次

   {n}  重复n次

   {n,} 重复n次或更多次

   {n,m} 重复n到m次

  3.惰性匹配和贪婪匹配

    * + {} 都是贪婪匹配

    .*后面加了?表示惰性匹配

    .*?x的特殊含义,找到下一个x为止 

str: abcdefgxhijklmn
reg: .*?x
结果:abcdefgx

  re模块 findall

import re
lst = re.findall("\d+", "5点之前. 你要给我5000万")
print(lst)
ret = re.search(r'\d', '5点之前. 你要给我5000万').group()
print(ret)
ret = re.match('a', 'abc').group()
print(ret) 
it = re.finditer("m", "mai le fo len, mai ni mei!")
for el in it:
  print(el.group())

    

猜你喜欢

转载自www.cnblogs.com/pythonz/p/10041228.html
今日推荐