Я имею дело со строками подключения MSSQL в разных форматах, и мне нужно иметь возможность извлечь пароль, независимо от того, заключен он в (одинарные или двойные) кавычки. Я также должен убедиться, что, если пароль содержит кавычки или точки с запятой, я фиксирую весь пароль без кавычек. Если в начале пароля есть несколько кавычек, мне нужно захватить все, кроме первого.
До сих пор я построил следующее регулярное выражение:
/(?<=Password=["']?).+?(?=["'];|["';]?$)/gim
Это RegExловит развернутый пароль (...Password=foobar;... :: foobar
), НО также ловит первую кавычку в свернутом пароле (...Password="foobar";... :: "foobar
) или, если я удаляю ?
в просмотре, как показано ниже, я правильно записываю свернутые пароли, но пропускаю распакованныепароли.
/(?<=Password=["']).+?(?=["'];|["';]?$)/gim
В идеале, я хотел бы сделать это без дополнительного Javascript. Вопрос помечен Javascript, потому что это движок, который я использую. Я знаю, что могу подстроку, если пароль начинается с кавычки, но цель состоит в том, чтобы найти решение RegEx.
Вот регулярное выражение с некоторыми примерами тестовых случаев: https://regexr.com/4n2lt
Заранее спасибо.