Python - AI 助手

Python re split() 方法



Python 的 re.split() 方法用于根据指定的正则表达式模式分割字符串。它返回一个子字符串列表。

我们还可以包含可选的标志来修改模式匹配的行为。此方法对于解析分隔符不固定或需要更高级分割逻辑的字符串特别有用。

str.split() 方法按固定分隔符分割,而 re.split() 方法允许按复杂模式(例如数字、单词或任何正则表达式定义的模式)分割。

语法

以下是 Python re.split() 方法的语法和参数:

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

参数

以下是 python re.split() 方法的参数:

  • pattern: 要分割的正则表达式模式。
  • string: 要分割的字符串。
  • maxsplit(可选): 分割的最大次数。默认值为 0,表示“无限制”。
  • flags(可选): 这些标志修改模式。

返回值

此方法返回根据指定模式分割输入字符串后获得的子字符串列表。

示例 1

以下是 python re.split() 方法的基本示例。在此示例中,模式 \s+ 分割字符串的一个或多个空白字符:

import re

result = re.split(r'\s+', 'Hello   world!   Welcome to  Python.')
print(result)  

输出

['Hello', 'world!', 'Welcome', 'to', 'Python.']

示例 2

在此示例中,我们通过在 re.split() 方法中指定 maxsplit=2 参数来限制分割次数:

import re

result = re.split(r'\s+', 'Hello world! Welcome to Python.', maxsplit=2)
print(result)  

输出

['Hello', 'world!', 'Welcome to Python.']

示例 3

在此示例中,我们使用 re.VERBOSE 标志允许正则表达式以更易读的方式编写,包括注释和空格:

import re

pattern = re.compile(r"""
    \d+    # One or more digits
    """, re.VERBOSE)
result = pattern.split('abc123def456ghi789')
print(result)  

输出

['abc', 'def', 'ghi', '']

示例 4

此示例使用模式 \b,它匹配单词边界,允许字符串在单词边界处分割:

import re

result = re.split(r'\b', 'Hello, world!')
print(result)  

输出

['', 'Hello', ', ', 'world', '!']
python_modules.htm
广告