Python使用正则表达式进行分割

2023-02-28 00:00:00 python 分割 正则表达式

在 Python 中使用正则表达式进行分割,可以使用 re 模块的 split 函数。以下是一个使用正则表达式进行分割的示例代码:

import re

text = "a,b, c  d,e"
pattern = r"[,\s]+"
result = re.split(pattern, text)
print(result)

上面的代码中,[,\s]+ 表示匹配一个或多个逗号或空白字符,使用 split 函数对字符串 text 进行分割,得到的结果为:

['a', 'b', 'c', 'd', 'e']

其中,逗号和空格都被作为分隔符,结果中不包含这些字符。

如果想在分割的同时保留分隔符,可以使用 re 模块的 findall 函数,并在正则表达式中使用捕获组来匹配分隔符。以下是一个示例代码:

import re

text = "a,b, c  d,e"
pattern = r"([,\s]+)"
result = re.findall(pattern, text)
print(result)

上面的代码中,([,\s]+) 使用圆括号括起来表示一个捕获组,匹配逗号或空白字符。使用 findall 函数对字符串 text 进行匹配,得到的结果为:

[',', ',', ' ', '  ', ',']

其中,逗号和空格都被作为分隔符匹配,捕获组匹配到的结果也被包含在结果中。如果想在结果中同时保留单词和分隔符,可以将正则表达式改为 r"(\b|[,\s]+)",其中 \b 表示单词边界,保证单词不被分隔。

相关文章