javascript — Regex: сопоставить пароль в строке подключения MSSQL, принимая во внимание заключение в кавычки

Regex: сопоставить пароль в строке подключения MSSQL, принимая во внимание заключение в кавычки

Я имею дело со строками подключения MSSQL в разных форматах, и мне нужно иметь возможность извлечь пароль, независимо от того, заключен он в (одинарные или двойные) кавычки. Я также должен убедиться, что, если пароль содержит кавычки или точки с запятой, я фиксирую весь пароль без кавычек. Если в начале пароля есть несколько кавычек, мне нужно захватить все, кроме первой.

До сих пор я построил следующее регулярное выражение:

 /(?{amp}lt;=Password=["']?). ?(?=["'];|["';]?$)/gim 

Этот RegEx ловит развернутый пароль ( ...Password=foobar;... :: foobar ), НО также ловит первую кавычку в свернутом пароле ( ...Password="foobar";... :: "foobar ) или , если я удаляю знак « ? как показано ниже, я правильно записываю свернутые пароли, но не вижу развернутых паролей.

 /(?{amp}lt;=Password=["']). ?(?=["'];|["';]?$)/gim 

В идеале я хотел бы сделать это без дополнительного Javascript. Вопрос помечен Javascript, потому что это движок, который я использую. Я знаю, что могу подстроку, если пароль начинается с кавычки, но цель состоит в том, чтобы найти решение RegEx.

Вот регулярное выражение с некоторыми примерами тестовых случаев: https://regexr.com/4n2lt

Заранее спасибо.

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector