【发布时间】:2023-01-28 22:25:55
【问题描述】:
我想我误解了re.split() 的工作原理。
这是一个真实而简单的例子。
>>> import re
>>> re.split('(abc)', 'abc')
['', 'abc', '']
我对结果列表中的第一个和最后一个空 ('') 元素感到困惑。我期望的结果是这样的:
['abc']
这是一个非常简化的例子。请让我给出更复杂的东西。
>>> re.split(r'\[\[(.+?)\]\[(.+?)\]\]', '[[one][two]]')
['', 'one', 'two', '']
我期望的结果是:
['one', 'two']
第三个示例前后的单词按预期工作。
>>> re.split(r'\[\[(.+?)\]\[(.+?)\]\]', 'zero [[one][two]] three')
['zero ', 'one', 'two', ' three']
【问题讨论】:
-
@tripleee - re.split 不是 str.split,错误的重复。