zoukankan      html  css  js  c++  java
  • 第11.2节 Python 正则表达式支持函数概览

    为了大家熟悉re模块匹配文本的处理,本节将概要介绍与此处理有关的几个主要函数,提供了如下主要函数:
    在这里插入图片描述
    以上函数中的部分的三个重要参数说明如下:

    1. pattern都是代表匹配规则的模式字符串,string代表要搜索的文本;
    2. flags搜索标记(也称为搜索标签)是匹配的一些其他限定,值可以是以下任意常量,可以通过位的OR操作( |操作符)来组合使用:
      1)re.A、re.ASCII:二者含义相同,对应数值256,表示让 w, W, , B, d, D, s 和 S 只匹配ASCII,而不是Unicode。这只对Unicode样式有效,会被byte样式忽略。
      2)re.DEBUG:对应数值128,显示编译时的debug信息
      3)re.I、re.IGNORECASE:对应数值2,表示忽略大小写匹配,如表达式如 [A-Z] 也会匹配小写字符。
      4)re.L、re.LOCALE:对应数值4,由当前语言区域决定 w, W, , B 和大小写敏感匹配。这个标记只能对byte样式有效。这个标记不推荐使用,因为语言区域机制很不可靠,它一次只能处理一个 "习惯”,而且只对8位字节有效
      5)re. M、re. MULTILINE:对应数值8,设置以后,样式字符 ‘^’ 匹配字符串的开始,和每一行的开始(换行符后面紧跟的符号);样式字符 ‘' 匹配字符串尾,和每一行的结尾(换行符前面那个符号)。默认情况下,’^’ 匹配字符串头,'’ 匹配字符串尾。
      6)re.S、re.DOTALL:对应数值16,让 ‘.’ 特殊字符匹配任何字符,包括换行符;如果没有这个标记,’.’ 就匹配 除了 换行符的其他任意字符。
      7)re.Xre.VERBOSE:对应数值64,这个标记允许你编写更具可读性更友好的正则表达式。通过分段和添加注释。空白符号会被忽略,除非在一个字符集合当中或者由反斜杠转义,或者在 *?, (?: or (?P<…> 分组之内。当一个行内有 # 不在字符集和转义序列,那么它之后的所有字符都是注释。
      re.VERBOSE 标志有几种效果。 正则表达式中的 不是 在字符类中的空格将被忽略。 这意味着表达式如 dog | cat 等同于不太可读的 dog|cat ,但 [a b] 仍将匹配字符 ‘a’ 、 ‘b’ 或空格。 此外,你还可以在正则中放置注释;注释从 # 字符扩展到下一个换行符。 当与三引号字符串一起使用时,这使正则的格式更加整齐:
    pat = re.compile(r"""
     s*                 # Skip leading whitespace
     (?P<header>[^:]+)   # Header name
     s* :               # Whitespace, and a colon
     (?P<value>.*?)      # The header's value -- *? used to
                         # lose the following trailing whitespace
     s*$                # Trailing whitespace to end-of-line
    """, re.VERBOSE)
    

    这更具有可读性:

    本节老猿引入了re模块的几个主要函数,对三个共性参数进行了统一说明,这样后面详细介绍这些函数时无需单独介绍。
    老猿Python,跟老猿学Python!
    博客地址:https://blog.csdn.net/LaoYuanPython

    请大家多多支持,点赞、评论和加关注!谢谢!

  • 相关阅读:
    [USACO06FEB] Stall Reservations 贪心
    [USACO14MAR] Sabotage 二分答案 分数规划
    【机房史】笑面与学弟们的日常正文17最近一次更新20200802
    8.22返校前记
    2020年7月1日
    我TM怎么这么垃圾
    平安夜
    2018 12 21
    新blog
    写在搬家之后.
  • 原文地址:https://www.cnblogs.com/LaoYuanPython/p/13643646.html
Copyright © 2011-2022 走看看