# 核心概念

# 概述

Python re库是一个正则表达式库,主要用于处理字符串匹配和搜索。它包含一些核心类和核心函数以及方法,下面是它们的简单介绍:

# 核心类

  1. re.Pattern​: 正则表达式的编译结果,包含了正则表达式的解析结果,可以用来进行匹配操作。
  2. re.Match​: 匹配结果,包含匹配的起始和结束位置等信息,可以用来提取匹配结果。

# 核心函数

  1. re.compile()​​: 将正则表达式编译成一个re.Pattern​​对象。

  2. re.match()​​: 从字符串的起始位置开始尝试匹配正则表达式,如果成功返回一个re.Match​​对象,否则返回None。

  3. re.search()​​: 扫描整个字符串,尝试匹配正则表达式,如果成功返回一个re.Match​​对象,否则返回None。

  4. re.findall()​​: 返回一个列表,包含字符串中所有匹配正则表达式的子串。

  5. re.finditer()​​: 返回一个迭代器,迭代器的每个元素都是一个re.Match​​对象,表示字符串中一个匹配正则表达式的子串。

  6. re.sub

    import re
    
    text = "Hello, my name is John. I like programming and John."
    
    def to_uppercase(match):
        return match.group().upper()
    
    pattern = r'John'
    new_text = re.sub(pattern, to_uppercase, text)
    
    print("Original Text:", text)
    print("New Text:", new_text)
    

# 核心方法

  1. re.Pattern.match()​: 从字符串的起始位置开始尝试匹配正则表达式,如果成功返回一个re.Match​对象,否则返回None。
  2. re.Pattern.search()​: 扫描整个字符串,尝试匹配正则表达式,如果成功返回一个re.Match​对象,否则返回None。
  3. re.Pattern.findall()​: 返回一个列表,包含字符串中所有匹配正则表达式的子串。
  4. re.Pattern.finditer()​: 返回一个迭代器,迭代器的每个元素都是一个re.Match​对象,表示字符串中一个匹配正则表达式的子串。
  5. re.Match.group()​: 返回整个匹配对象或指定子组的匹配字符串。
  6. re.Match.groups()​: 返回所有子组匹配字符串的元组。
  7. re.Match.groupdict()​: 返回一个字典,包含所有命名捕获组的子组匹配字符串。
  8. re.Match.start()​: 返回匹配子串在原字符串中的起始位置。
  9. re.Match.end()​: 返回匹配子串在原字符串中的结束位置。
  10. re.Match.span()​: 返回一个元组,包含匹配子串在原字符串中的起始和结束位置。