day23 正则,re模块

一、 简谈正则表达式

  元字符

        . 除了换行符外任意字符。

        \w 数字、字母、下划线

        \s 空白符

        \b 单词的末尾

        \d 数字

              \n 匹配换行符

              \t 匹配制表符

        \W 除了数字。 字母 下划线

        \D 除了数字

        \S 除了空白符

        ^  开头

        $ 结尾

        […] 字符组

        [^…] 除了字符组内的元素外

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

        量词 限定符

        *   {0,n}

        +  {1,n}

        ?   {0,1}

        {p}  p次

        {p,}  p次或更多次

        {p,q} 从p到q次

         贪婪匹配和惰性匹配

          *,+,{},都属于贪婪——即尽可能多的匹配

          在使⽤用.*后⾯面如果加了? 则是尽可能的少匹配. 表⽰惰性匹配

          正则中转义 在前加\  如 \\n 表示 \n

             

二、 re模块

findall()获取到匹配的所有内容 返回list 在pycharm中可能因()优先权,而得不到所要的结果,可用(?:取消优先权)

finditer()匹配到所有内容。 返回迭代器

search() 搜索。查到了就返回  查不到返回None

match() 匹配. 从头开始匹配 匹配不到就报错

split()切割,可多个,在pycharm中用()包裹表达式可保留切割位置

sub()替换 同理() 可显示替换多少次

compile() 表达式预加载

(?P<name>正则)  给表达式起名 可调用查看

猜你喜欢

转载自www.cnblogs.com/honghong7725/p/9974483.html