Dado o seguinte padrão:
group1: hello, group2: world
group1: hello (hello, world) world, group2: world
group1: hello world
do estilo <group_name>: <group_value>[, <group_name>: <group_value>[...]]
.
Em geral eu uso o seguinte regex para extrair os valores:
group1:\s(?P<group1>[^,\n]+)(:?,\sgroup2:\s(?P<group2>[^,\n]+))?\n
que funciona arquivo, a menos que ,
exista dentro do arquivo group_value
.
Eu sei que este exemplo de brinquedo pode ser resolvido por algo como:
group1:\s(?P<group1>.+?)(?:,\sgroup2:\s(?P<group2>.+?))?\n
No entanto, quero me proteger contra combinar tudo acidentalmente, então ainda gostaria de limitar minha correspondência quando encontrar um arquivo ,
.
Pergunta : Existe uma maneira (geral) de corresponder ,
e, para esse fim, ignorar ,
s que estão entre colchetes?