Python 是否有一种方法可以使用字符串变量替换re.split中的分隔符?

Python 是否有一种方法可以使用字符串变量替换re.split中的分隔符?,python,string,split,Python,String,Split,为了使代码更具可读性,我想使用名为分隔符的字符串变量来替换@\n\t,。;()”in re.split(r'[ @\n\t,.;()]', line) 我尝试过使用repr,例如: delimiter = ' @\n\t,.;()' words = re.split(repr(delimiter), line) 但它并不像我预期的那样起作用。有人知道如何使之成为可能吗?很简单: delimiters = r' @\n\t,.;()' words = re.split(r'[%s]' % de

为了使代码更具可读性,我想使用名为
分隔符的字符串变量来替换
@\n\t,。;()”
in

re.split(r'[ @\n\t,.;()]', line)
我尝试过使用
repr
,例如:

delimiter = ' @\n\t,.;()'
words = re.split(repr(delimiter), line)
但它并不像我预期的那样起作用。有人知道如何使之成为可能吗?

很简单:

delimiters = r' @\n\t,.;()'
words = re.split(r'[%s]' % delimiters, line)

正则表达式只是一个字符串,可以通过插值和串联来构造它。请注意,分隔符字符串之前的
r
,如果没有该分隔符,则分隔符将包含换行符和制表符,而不是文字
\n\t

对不起,有一个输入错误。它应该被重新拆分(r'[@\n\t,.;()]”,第行)您是否查看了
repr(delimiter)
的计算结果?为什么你认为这和第一个片段是一样的?