Regex соответствует только одному случаю, где присутствуют повторяющиеся совпадения? - PullRequest
0 голосов
/ 06 марта 2020

[PYTHON 3.7]

  • Использование re Модуль

Это моя строка re.search:

'(?<=Access {)[\w\W]+(?=~Access)'

I также пробовал:

'Access[\w\W]+Access'

Моя тестовая строка:

4 : {'IsMissing': 'false', 'Name': 'Trans7', 'Number': '7', 'ProgrammingLanguage': 'LAD'}~FlgNet {}~Parts {}~Access {'Scope': 'LocalVariable', 'UId': '21'}~Symbol {}~Component {'Name': 'DATA'}~Component {'Name': 'sOFF'}~Access {'Scope': 'LocalVariable', 'UId': '22'}~Symbol {}~Component {'Name': 'Me'}~Component {'Name': 'SEQ03'}~Component {'Name': 'sRUN'}~Part {'Name': 'Contact', 'UId': '23'}~Part {'Name': 'Contact', 'UId': '24'}~Negated {'Name': 'operand'}~Part {'Name': 'TrCoil', 'UId': '25'}~Wires {}~Wire {'UId': '26'}~Powerrail {}~NameCon {'UId': '23', 'Name': 'in'}~Wire {'UId': '27'}~IdentCon {'UId': '21'}~NameCon {'UId': '23', 'Name': 'operand'}~Wire {'UId': '28'}~NameCon {'UId': '23', 'Name': 'out'}~NameCon {'UId': '24', 'Name': 'in'}~Wire {'UId': '29'}~IdentCon {'UId': '22'}~NameCon {'UId': '24', 'Name': 'operand'}~Wire {'UId': '30'}~NameCon {'UId': '24', 'Name': 'out'}~NameCon {'UId': '25', 'Name': 'in'}~

Я только получаю 1 совпадение:

Access {'Scope': 'LocalVariable', 'UId': '21'}~Symbol {}~Component {'Name': 'DATA'}~Component {'Name': 'sOFF'}~Access

Что я проверял в Pythex .

Я использовал re Python Документация в качестве справочного материала для регулярных выражений.

Буду признателен за любой совет или «лучшую практику» для решения.

...