python3中正则表达式处理函数用法总结

作者:

文章目录
  • 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。 在 Python 中,使用 re 模块来处理正则表达式。 re 模块提供了一组函数,允许你在字符串中进行模式匹配、搜索和替换操作。
  • re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match() 就返回 None。 函数语法: re.match(pattern, string, flags=0) 匹配成功 re.match 方法返回一个匹配的对象,否则返回 None。 我们可以使用 group(num) 或 groups() 匹配对象函数来获取匹配表达式。
  • re.search 扫描整个字符串并返回第一个成功的匹配。 函数语法: re.search(pattern, string, flags=0) 匹配成功re.search方法返回一个匹配的对象,否则返回None。 我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。
  • re.match 只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回 None,而 re.search 匹配整个字符串,直到找到一个匹配。
  • Python 的re模块提供了re.sub用于替换字符串中的匹配项。 语法: re.sub(pattern, repl, string, count=0, flags=0) 参数: pattern : 正则中的模式字符串。 repl : 替换的字符串,也可为一个函数。 string : 要被查找替换的原始字符串。 count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。 flags : 编译时用的匹配模式,数字形式。 前三个为必选参数,后两个为可选参数。
  • compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。 语法格式为: re.compile(pattern[, flags]) 参数: pattern : 一个字符串形式的正则表达式 flags 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为: 这些标志可以单独使用,也可以通过按位或(|)组合使用。例如,re.IGNORECASE | re.MULTILINE 表示同时启用忽略大小写和多行模式。 re.IGNORECASE 或 re.I – 使匹配对大小写不敏感 re.L 表示特殊字符集 w, W, b, B, s, S 依赖于当前环境 re.MULTILINE 或 re.M – 多行模式,改变 ^ 和 $ 的行为,使它们匹配字符串的每一行的开头和结尾。 re.DOTALL 或 re.S – 使 . 匹配包括换行符在内的任意字符。 re.ASCII – 使 w, W, b, B, d, D, s, S 仅匹配 ASCII 字符。 re.VERBOSE 或 re.X – 忽略空格和注释,可以更清晰地组织复杂的正则表达式。
  • 在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。 注意: match 和 search 是匹配一次 findall 匹配所有。 语法格式为: re.findall(pattern, string, flags=0) 或 pattern.findall(string[, pos[, endpos]]) 参数: pattern 匹配模式。 string 待匹配的字符串。 pos 可选参数,指定字符串的起始位置,默认为 0。 endpos 可选参数,指定字符串的结束位置,默认为字符串的长度。
  • 和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。 re.finditer(pattern, string, flags=0)
  • split 方法按照能够匹配的子串将字符串分割后返回列表,它的使用形式如下: re.split(pattern, string[, maxsplit=0, flags=0])
  • 到此这篇关于python3中正则表达式处理函数用法总结的文章就介绍到这了,更多相关python3正则表达式处理函数内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客! 您可能感兴趣的文章: Python中正则表达式match()、search()函数及match()和search()的区别详解 Python正则表达式常用函数总结 Python常用的正则表达式处理函数详解 一文秒懂python正则表达式常用函数 Python中sort函数正则表达式的使用 Python正则表达式语法及re模块中的常用函数详解
  • 目录
    • 前言
    • re.match函数
    • re.search方法
    • re.match 与 re.search的区别
    • 检索和替换
    • compile 函数
    • findall
    • re.finditer
    • re.split
    • 总结

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。

    在 Python 中,使用 re 模块来处理正则表达式。

    re 模块提供了一组函数,允许你在字符串中进行模式匹配、搜索和替换操作。

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

    函数语法

    re.match(pattern, string, flags=0)

    匹配成功 re.match 方法返回一个匹配的对象,否则返回 None

    我们可以使用 group(num) 或 groups() 匹配对象函数来获取匹配表达式。

    re.search 扫描整个字符串并返回第一个成功的匹配。

    函数语法:

    re.search(pattern, string, flags=0)

    匹配成功re.search方法返回一个匹配的对象,否则返回None。

    我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。

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

    Python 的re模块提供了re.sub用于替换字符串中的匹配项。

    语法:

    re.sub(pattern, repl, string, count=0, flags=0)

    参数:

    • pattern : 正则中的模式字符串。
    • repl : 替换的字符串,也可为一个函数。
    • string : 要被查找替换的原始字符串。
    • count : 模式匹配后替换的最大次数,默认 0 表示替换所有的匹配。
    • flags : 编译时用的匹配模式,数字形式。

    前三个为必选参数,后两个为可选参数。

    compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用。

    语法格式为:

    re.compile(pattern[, flags])

    参数:

    • pattern : 一个字符串形式的正则表达式
    • flags 可选,表示匹配模式,比如忽略大小写,多行模式等,具体参数为:
    • 这些标志可以单独使用,也可以通过按位或(|)组合使用。例如,re.IGNORECASE | re.MULTILINE 表示同时启用忽略大小写和多行模式。

      • re.IGNORECASE 或 re.I – 使匹配对大小写不敏感
      • re.L 表示特殊字符集 w, W, b, B, s, S 依赖于当前环境
      • re.MULTILINE 或 re.M – 多行模式,改变 ^ 和 $ 的行为,使它们匹配字符串的每一行的开头和结尾。
      • re.DOTALL 或 re.S – 使 . 匹配包括换行符在内的任意字符。
      • re.ASCII – 使 w, W, b, B, d, D, s, S 仅匹配 ASCII 字符。
      • re.VERBOSE 或 re.X – 忽略空格和注释,可以更清晰地组织复杂的正则表达式。

    在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果有多个匹配模式,则返回元组列表,如果没有找到匹配的,则返回空列表。

    注意: match 和 search 是匹配一次 findall 匹配所有。

    语法格式为:

    re.findall(pattern, string, flags=0)
    或
    pattern.findall(string[, pos[, endpos]])
    • 参数:

    • pattern 匹配模式。
    • string 待匹配的字符串。
    • pos 可选参数,指定字符串的起始位置,默认为 0。
    • endpos 可选参数,指定字符串的结束位置,默认为字符串的长度。

    和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

    re.finditer(pattern, string, flags=0)

    split 方法按照能够匹配的子串将字符串分割后返回列表,它的使用形式如下:

    re.split(pattern, string[, maxsplit=0, flags=0])

    到此这篇关于python3中正则表达式处理函数用法总结的文章就介绍到这了,更多相关python3正则表达式处理函数内容请搜索风君子博客以前的文章或继续浏览下面的相关文章希望大家以后多多支持风君子博客!

    您可能感兴趣的文章:

    • Python中正则表达式match()、search()函数及match()和search()的区别详解
    • Python正则表达式常用函数总结
    • Python常用的正则表达式处理函数详解
    • 一文秒懂python正则表达式常用函数
    • Python中sort函数正则表达式的使用
    • Python正则表达式语法及re模块中的常用函数详解

    站内搜索