2

这是一个由随机 0,1 组合而成的字符串,例如

number='111111111111111111111111000000000000000000000000000000000111111111111111111111111'

如何使用 python 的 re 来获取所有的“1 * ...”及其位置?

这是我的:

re.compile(r"1+").findall(number)

只是得到“1 ...”,我必须做更多的工作才能得到它的位置

所有的“1 ...”,它的开始和结束位置

4

1 回答 1

5

使用match.span()

import re

number = '111111111111111111111111000000000000000000000000000000000111111111111111111111111'
for m in re.finditer(r'1+', number):
    print m.span()

这将打印每次运行的开始和结束位置:

(0, 24)
(57, 81)

m.group(0)将为您提供匹配字符串。

于 2013-03-14T06:42:02.967 回答