У меня есть две строки:регулярное выражение жадного матч заканчивается символом или конца строки
1) «Дата создания test1 Правило Счет Владелец Sharing»
2) «Обновленный Счет Владелец Sharing Правило test3: Изменено CaseAccessLevel из прочитанного/запись только для чтения»
в результате сопоставления регулярных выражений, я хочу видеть:
1) Создан аккаунт Владелец Sharing Правило test1
2) Обновление счета Владелец Sharing Правило test3
разделены на 4 группы:
1) (создания) (счета) (Владелец Sharing Rule) (test1)
2) (Обновлено) (счета) (Владелец Sharing Rule) (test3)
для этих целей я пытался использовать следующий питон регулярного выражение:
'^(?P<action>^[^\s]+)\s(?P<target_object_label>.+)\s(?P<object_type>Owner\sSharing\sRule)\s(?P<object_label>.+)(?=:|$)
но для второй строки четвёртой группы выглядит как «test3: Изменен CaseAcces sLevel от Read/Write to Read Only '.
По существу регулярное выражение должно останавливаться либо в конце строки, либо перед символом ':', но жадное совпадение не позволяет этого сделать.
Заранее спасибо за ответы,
Dzmitry
Что-то вроде этого: ** https: //regex101.com/r/sU5dD2/1**? – Jan
После любого квантификатора с символом '?' Означает «минимальное совпадение», например '. +?'. – cdarke