Винаги съм напълно в загуба с регреси, така че се надявам някой тук да помогне.
Joomla използва този regex за потвърждаване на редове от ini файлове:
/^(|([[^]]*])|([A-Z][A-Z0-9_-]*s*=(s*(("[^"]*")|(_QQ_)))+))s*(;.*)?$/
Редовете имат такъв формат
JLIB_LOGIN_AUTHENTICATE="Username and password do not match or you do not have an account yet."
очевидно "
не може да бъде позволено в стойността, но. \ t "
може да бъде. Понастоящем това е съчетано с горните регреси. Виждам как е съвпаднало, но не мога да променя регламента да не съвпада "
, Опитах се да добавя |(Q"E)
на различни места, но няма късмет.
Отговори:
6 за отговор № 1Променете това:
"[^"] * "
До това:
"(\" | [^ "]) *"
Вижте как работи онлайн: ideone
3 за отговор № 2
замени [^"]
с ([^"]|(\"))