我想得到所有出现的模式 '[number]' 包括它们的上下文,但我不能。
这是我的代码:
import re
text = 'some crap [00][0] some more'
regex = r'\[[0-9]*\]'
regex = '.{0,10}' + regex + '.{0,10}'
occurrences = re.findall(regex, text)
for occ in occurrences print(occ)
究竟有什么问题!?
我的代码在任何情况下都可以按照我的意愿工作,除非有两个 [number] 块之间的字符少于 10 个。我的代码在寻找两个结果时给了我一个结果。如果我将正则表达式设置为包含重叠事件,那么它将给出不同上下文长度的所有结果。我无法专门设置上下文长度,因为我想在字符串的开头和结尾包含出现的次数。
我真正想要的:
我更喜欢纯正则表达式解决方案来让我了解所有提到的模式的出现,包括它们的上下文。
如果真的不可能,我可以使用使用位置并从字符串中选择范围的解决方案。