zoukankan      html  css  js  c++  java
  • python-re

    re

      re--正则表达式--字符串处理

      使用re.compile()可以得到一个RegexObject对象

      RegexObject的有两种使用方式。①作为参数传给处理函数;②调用RegexObject方法处理字符串。

      重点:match和search的区别。findall和finditer的区别。

         单次匹配(match,search)->Match和多次匹配(findall和finditer)->list的区别。

         正则表达式符号和语法规则。

         Match的方法span和group和groups的区别。

         flags参数标记:re.l--不区分大小写

         ---------------------------------------------------------------------------------------------------------

         sub的repl的函数用法。(?P<extract_str_name><express>)前面一部分是标记。

         repl参数传递一个函数,函数需要定义一个参数用来接收<express>匹配到的Match,在函数中用group('extract_str_name')使用这个值。处理后返回结果替换。

    1.re.match和re.search

      match特点:pattern必须从string的起始位置开始描述(pattern的起始表达和string不匹配直接返回异常)

      search特点:pattern参数可以从任意位置开始匹配。

      group方法:返回pattern匹配到的整个字符串

      groups方法:返回元组,包含pattern内每个(<express>)匹配到的字符串小组。(pattern表达式中没有(<express>)返回的是空元组)

      span方法:以索引号的形式返回

      无匹配结果返回None

    3.re.findall和re.finditer

      findall参数:pattern,string,pos,endpos

      pos/endpos:限制起始位置和结束位置

      finditer参数:pattern,string。以迭代器形式返回

    5.re.sub

      sub参数:pattern,repl,sring,count

      repl:repl替换pattern表达式中的(<express>)匹配到的字符串对象。可以通过count限制替换次数

      count:0表示替换所有,默认为0。

    6.re.split

      split参数:pattern,string,maxsplit

      maxsplit:0为不限制次数,默认为0

      用pattern匹配到的str,切割成列表

    7.re.compile

      参数:pattern

      将一个pattern字符串编译成正则表达式对象

    8.正则表达式符号:

    字符 -----------------------------------------------------------------------------------------------------

      字符类表示符号:任意(.),数字(/d),空白符(/s),数字字母加下划线(/w)。

      字符类:[a-zA-Z0-9_] = /w    [^a-zA-Z0-9_] = /W    [Pp]  ...

      (<express>) 括号小表达式

      字符类:为单个字符表示法。括号小组表达式:为长字符串表示法。

      都可以通过[*+?]限制次数

    次数 -------------------------------------------------------------------------------------------------------

      * 任意次数  + 正数次数  ? 布尔0/1次数  {n,m}自定义次数

      (作用于前一组字符(单字符/长字符串)对象,单个字符或者一个括号小组表达式)

    位置 -------------------------------------------------------------------------------------------------------

      匹配位置标记:^标记匹配开头,标记匹配结尾$

    总结 -------------------------------------------------------------------------------------------------------

      中括号表示字符类,部分字符类有专门的表示方式,四种匹配次数限制。

  • 相关阅读:
    windows系统下nodejs的环境变量配置
    Vim实用技巧笔记09
    Vim实用技巧笔记07
    Vim实用技巧笔记08
    Vim实用技巧笔记06
    visual studio code的python编程中遇到的SyntaxError:invalid syntax问题的原因和解决办法
    python学习第九天:mac系统的python开发工具Visual Studio Code安装配置、python的基础语法
    修改mac系统默认的python版本
    python的基本数据类型:Number、String的学习笔记
    python学习第八天:mac系统的python安装、软件说明、运行python的三种方法
  • 原文地址:https://www.cnblogs.com/bonus_scene/p/13636480.html
Copyright © 2011-2022 走看看