/ / Regex para corresponder "mas não" - regex

Regex para combinar "mas não" - regex

Eu sempre estou completamente perdida com expressões regulares, então espero que alguém aqui possa ajudar.

O Joomla usa este regex para validar linhas de arquivos ini:

/^(|([[^]]*])|([A-Z][A-Z0-9_-]*s*=(s*(("[^"]*")|(_QQ_)))+))s*(;.*)?$/

As linhas têm este formato

JLIB_LOGIN_AUTHENTICATE="Username and password do not match or you do not have an account yet."

Obviamente " não pode ser permitido na parte do valor, mas " poderia ser. Atualmente, isso é correspondido pelo regex acima. Posso ver como ele corresponde, mas não consigo modificar o regex para não corresponder ". Tentei adicionar |(Q"E)para vários lugares, mas sem sorte.

Respostas:

6 para resposta № 1

Mude isso:

"[^"] * "

Para isso:

"(\" | [^ "]) *"

Veja trabalhando on-line: ideone


3 para resposta № 2

substituir [^"] com ([^"]|(\"))