У меня есть строка Python, и я пытаюсь найти регулярное выражение и функцию поиска/сопоставления, которая проверит, что строка содержит только один или несколько экземпляров заданного шаблона (т. е. совпадение не имеет значения None).
Шаблон на простом английском языке: «", и этот шаблон (и только этот шаблон) может встречаться в строке 1 или несколько раз.
Так, например, допустимые строки могут включать:
"P;QTMCFGUART1;W,460800;1;P;QTMCFGUART2;W,460800;1"
"P;QTMCFGUART1;R;2;P;QTMCFGUART2;R;2"
Недопустимые строки могут включать:
"P;QTMCFGUART1;W,460800;3;P;QTMCFGUART2;W,460800;1"
"P,QTMCFGUART1,R,P,QTMCFGUART2,R,2"
Регулярное выражение для единственного появления шаблона достаточно просто:
r".*;.*;.*;[012];?"
Но я изо всех сил пытаюсь найти регулярное выражение и функцию поиска/сопоставления, которая проверяет, что строка содержит только один или несколько экземпляров этого шаблона. Я пробовал различные комбинации захваченной группы с глобальным флагом и без него, но не могу найти ту, которая работала бы для каждого вхождения шаблона в строке, например
r"(.*;.*;.*;[012];?)+"
Подробнее здесь: https://stackoverflow.com/questions/799 ... -more-inst