python正则表达式将字符串拆分为每个字符,但将所有内容保留在括号中

2024-03-29 01:15:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试拆分一个字符串,如下所示:

a = 'sdfLKC[m2G]TO'

输出如下所示:

b = ['s', 'd', 'f', 'L', 'K', 'C', '[m2G]', 'T', 'O']

我对regex的知识是基本的,我的代码是

b = re.split(r'(\[.+?\])', a)

但是输出是['sdfLKC', '[m2G]', 'TO'],我还想拆分每个字符如果它们不在括号中,任何帮助都将不胜感激。你知道吗


Tags: to字符串代码re字符regex括号split
2条回答

re.findall呢?也就是说,做匹配而不是分裂。你知道吗

>>> re.findall(r'\[[^\[\]]*\]|.', a)
['s', 'd', 'f', 'L', 'K', 'C', '[m2G]', 'T', 'O']

您可以使用re.findall在两个方括号之间查找任何单字字符或字符串。你知道吗

>>> re.findall(r'\w|\[[^\]]+\]',a)
['s', 'd', 'f', 'L', 'K', 'C', '[m2G]', 'T', 'O']

相关问题 更多 >