zoukankan      html  css  js  c++  java
  • 正则r的作用

    >>> mm = "c:\a\b\c"
    >>> mm
    'c:\a\b\c'
    >>> print(mm)
    c:ac
    >>> re.match("c:\\",mm).group()
    'c:\'
    >>> ret = re.match("c:\\",mm).group()
    >>> print(ret)
    c:
    >>> ret = re.match("c:\\a",mm).group()
    >>> print(ret)
    c:a
    >>> ret = re.match(r"c:\a",mm).group()
    >>> print(ret)
    c:a
    >>> ret = re.match(r"c:a",mm).group()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    AttributeError: 'NoneType' object has no attribute 'group'
    >>>

    说明

    Python中字符串前面加上 r 表示原生字符串

    与大多数编程语言相同,正则表达式里使用""作为转义字符,这就可能造成反斜杠困扰。假如你需要匹配文本中的字符"",那么使用编程语言表示的正则表达式里将需要4个反斜杠"\":前两个和后两个分别用于在编程语言里转义成反斜杠,转换成两个反斜杠后再在正则表达式里转义成一个反斜杠。

    Python里的原生字符串很好地解决了这个问题,有了原生字符串,你再也不用担心是不是漏写了反斜杠,写出来的表达式也更直观。

    >>> ret = re.match(r"c:\a",mm).group()
    >>> print(ret)
    c:a

    from:https://www.cnblogs.com/georgexu/p/11204748.html

  • 相关阅读:
    *** mixed implicit and normal rules: deprecated syntax
    cold boot and warm boot.
    git打补丁命令
    LSB和MSB
    __attribute__((weak)) ------ 关于弱符号的用法
    键盘和鼠标无法热插拔问题
    yocto编译加速及单独编译内核与uboot
    V4L2学习教程
    linux错误码
    linux内核面试常见试题
  • 原文地址:https://www.cnblogs.com/mafy/p/13998660.html
Copyright © 2011-2022 走看看