【发布时间】:2021-11-20 22:22:15
【问题描述】:
我正在尝试为使用re 中的finditer() 方法找到的每个组捕获捕获组的开始和结束。
例如:
strng = 'move 12345-!'
matches = re.finditer('move ([0-9]+).*?', strng)
for each in matches:
print(*each.groups())
print(each.start(), each.end())
这将产生开始和结束索引位置,但是是匹配的模式,而不是特定的捕获组。我本质上想始终捕获数字,因为这会改变。 move 这个词将始终是一个锚点,但我不想将它包含在位置中,因为我需要捕获在文本文档中找到的数字的实际位置,以便我可以对找到的每个数字进行切片.
完整的文档可能是这样的:
move 12345-!
move 57496-!
move 96038-!
move 00528-!
我会捕获57496 开始/结束document[17:21],其中 57496 的开始是 17,结束是 21。基础位置用于训练模型。
【问题讨论】:
-
所以使用
start(1)和end(1)?