Регулярное выражение - для получения подстрок между точкой с запятой с уловием

программирование php регулярные выражения regexp

Необходимо регулярное выражение для обработки текстового файла построчно
В строке содержатся такие данные: [email protected];username;password;server
Например, [email protected];user.name;Jds61,uicbB#;bla.domain.com:25
В данном примере в пароле содержится запятая!!!
Задача такая, необходимо заменить разделитель между этими четырьмя частями строки с точки с запятой (;) на запятую (,), но при это части или часть три-она же пароль, не должны содержать запятой, т.е. указанный выше пример не должен проходить!
Что я уже делал сам:
^(.*?);(.*?);(.*?);(.*?)$ - такая конструкция находит то, что нужно и то, что не нужно, т.е. запятую в третьей подстроке оно находит
^(.*?);(.*?);([^\,]+);(.*?)$ - также находит вместе с запятой
Вообщем помогите исправить, чтобы не были найдены строки содержащие запятую
Заранее благодарю

Примечание:
>Вячеслав Иванович
благодарю, конечная цель достигнута. правда Вы несколько изменили выражение и не все нужные вхождения под него подпадают, но это я исправлю. мне не нужно делать проверку на правильность e-mail, username и server, т.е. по умолчанию они уже являются валидными

и еще к Вам один вопрос, что за софт изображен на скриншоте?
Ответы:
([\w@.]+);([\w.]+);([^,\s;]+);([\w.:]+)


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.