在 Python 中,re 模块可以用来使用正则表达式匹配字符串。

    主要利用方法 re.search(r'pattern', 'text')re.findall(r'pattern', 'text')re.match(r'pattern', 'text') 方法使用较少,因为它只能匹配 text 开头的字符串。

    模式串使用原始字符串可以避免不必要的麻烦。

    match 对象:re.search()re.match() 返回的对象。

    对象的方法 含义
    match.string 主串
    match.re 匹配时使用的 pattern(正则表达式)
    match.pos text 的开始位置
    match.endpos text 的结束位置
    match.group() 获得匹配后的字符串
    match.start() 匹配的字符串在主串中的开始位置
    match.end() 匹配的字符串在主串中的结束位置
    match.span() 返回 (match.start()
    , match.end()
    )

    贪婪匹配和非贪婪匹配:

    • 贪婪匹配:在满足条件的情况下,尽可能长的去匹配。如:text = "Pythonnnnn"pattern = r"Python+"。那么匹配到的结果是 Pythonnnnn,而不是 Python
    • 非贪婪匹配:匹配最小的结果

    在上例中,使用 ? 可达到非贪婪匹配的效果:pattern = r"Python+?"。 :::danger 注:本例貌似不大正确,日后再完善,但大概意思还是对的。 :::

    正则表达式写法参考这篇文章:
    正则表达式学习笔记