У меня есть куча строк в файле с одним или двумя вхождений той же схеме (ID =):Python Regular Expression. Matching один или два раза шаблон
Linetype1 : ...id=1234...id=4321...value=5678... # "..." means whatever
Linetype2 : ...id=7890...value=8765
Я думал, что я мог бы написать такое регулярное выражение Grep все мои идентификаторы и соответствующие значения:
>>> l="...id=1234...id=4321...value=5678...\n...id=7890...value=8765\n"
>>> ret = re.findall('(id=[0-9]+).*?(id=[0-9]+)*.*?(value=[0-9]+)',l)
[('id=1234', '', 'value=5678'), ('id=7890', '', 'value=8765')]
Я не могу получить вторую часть «id = 4321». Мне это очень странно, так как я использую неживые. *? между первым id = [0-9] + и вторым.
Да, но он больше не соответствует типу lin2 –