r前缀

原始字符串和普通字符串

普通字符串

  • 简单介绍,普通字符串就是使用单引号和双引号括起来的字符,如:"hello world",若是需要包含一些特殊的字符,那就需要转义符:

  • 比如:

    1
    2
    s="hello\nworld"
    print(s)
    • 这里将会输出:

    • hello
      world
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
        
      * example:\t 表示制表符 \n表示换行 \r表示回车 \' 表示单引号 \"表示双引号 \\表示一条反斜杠


      ### 原始字符串

      * 简单介绍:原始字符串里面的内容不需要被转义,表示形式为在普通字符串前面加一个r即可。

      * 比如:

      * ```python
      s=r"hello\nworld"
      print(s)
    • 这里将会输出:

    • hello\nworld
      
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22

      * 注意采用原始字符的形式 \n是两个字符\和n,而不是表示换行的意思了

      # `re.match`函数

      * 语法:`re.match(pattern,string,flags=0)`

      * 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。匹配成功re.match方法返回一个匹配的对象。

      * 对于这个函数,只可以在开头匹配到对应正则表达式所指字符才可以。

      * 比如:

      * ```python
      import re

      s = "hello world"
      result = re.match(r"world", s)#若是将"world"修改为"hello",该result.group会返回一个具体的hello值。
      if result:
      print(result.group())
      else:
      print("No match")
  • 这里就会输出No match因为字符串首单词没有匹配到world

re.search函数

  • re.search 扫描整个字符串并返回第一个成功的匹配,如果没有匹配,就返回一个 None。

    re.match与re.search的区别:re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配

  • 并且找到第一个匹配的字符后就不再进行匹配。

  • import re
    
    """关于search()方法的使用"""
    result = re.search(r".ar", "The car parked in the garage.")
    print(result.group())
    
  • 这里只会输出car,即第一个匹配的单词,不会再往后进行匹配。

精品博客

python——正则表达式(re模块)详解