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 № 1Mude isso:
"[^"] * "
Para isso:
"(\" | [^ "]) *"
Veja trabalhando on-line: ideone
3 para resposta № 2
substituir [^"]
com ([^"]|(\"))