详解Python re.split函数:根据模式分割字符串

  • Post category:Python

re 模块是 Python 编程语言的正则表达式模块,它提供了与正则表达式匹配相关的各种函数,其中 re.split() 是其中一个用于正则表达式处理的函数。

1. re.split 函数的作用

re.split() 函数可以按照指定的模式对目标字符串进行切割,并返回切割后的子字符串列表,具有如下特点:

  • 模式正则表达式可以是一个字符串,也可以是一个已经编译好的正则表达式对象。
  • 按照模式对目标字符串进行切割,切割后的字符串顺序保存在列表中。
  • 如果模式正则表达式中含有括号,则括号中匹配到的内容也会被保存下来。

2. re.split 函数的使用方法

re.split 函数的语法如下所示:

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

其中,参数含义如下:

  • pattern:要匹配的正则表达式。
  • string:要进行切割的目标字符串。
  • maxsplit:可选参数,切割次数的最大值,默认为 0,代表切割全部。
  • flags:可选参数,匹配模式,同 re.match 中的 flags。

下面通过一个例子进行讲解。

例子一

import re

str1 = "1+2-3*4/5"
result1 = re.split(r'[+*/-]', str1)
print(result1)

输出结果如下:

['1', '2', '3', '4', '5']

这里使用正则表达式 [+*/-] 对字符串进行切割,结果中的符号已经被去除了。

例子二

import re

str2 = "Hello, World!"
result2 = re.split(r'(\W)', str2)
print(result2)

输出结果如下:

['Hello', ', ', 'World', '!']

这里使用正则表达式 (\W) 对字符串进行切割,同时保留分隔符。注意,在正则表达式中使用了圆括号 () 括起来的 \W 表示非字母、非数字、非下划线的字符,即分隔符。

以上是关于 re.split() 函数的详细介绍及使用方法。