У меня есть
s = '10001001110100000'
Я хочу извлечь все совпадения ('0'
с между '1'
с, включая '1'
с по краям). Результат должен быть [10001, 1001, 101]
для этого примера.
Я кодировал простое выражение, используя PyParsing, но я удивлен, насколько сложно найти решение, поскольку PyParsing возвращает только первое совпадение.
Мой код пока:
from pyparsing import Group, OneOrMore, ZeroOrMore
s = '10001001110100000'
expr = ('1' + OneOrMore('0') + '1')
rule = ZeroOrMore(Group(expr))
print(rule.parseString(str).asList())
Что дает:
[['1', '0', '0', '0', '1']]
Ожидаемый результат:
['10001', '1001', '101']
Как получить другие совпадения?
Этот вопрос относится только к PyParsing.