Regex, чтобы замаскировать пароль звездочкой * в заданной строковой инструкции в Java - PullRequest
0 голосов
/ 18 февраля 2019

У меня есть запрос выбора SQL в формате строки, и он содержит условие user / password в предложении where.Мне нужно записать полный запрос, маскируя значение пароля с помощью *.Так что нужен правильный regEx, чтобы замаскировать значение пользователя / пароля с помощью *.

образец SQL:

шаблон 1:

SELECT e.id, e.userid, e.firstname, e.lastname, e.middlename, e.nickname из empe где e.state = 1 AND lower (e.userid) = '' "

pattern 2:

SELECT e.id, e.email, e.userid из порядка e, где e.state = 1 AND e.userid = '' "

Я использовал следующее, но оно не удовлетворяет обоим упомянутым сценариям

sql.replaceAll("e.userid.*\\s*=\\s*[\\p{ASCII}&&[^\\s]]*", "(e.userid) = ****")

sql.replaceAll("e.userid.*\\s*=\\s*[\\p{ASCII}&&[^\\s]]*", "(e.userid) = ****")

Примечание: идентификатор пользователязначение не содержит пробела.и он может иметь буквенно-цифровые символы.

В основном мне нужна помощь, чтобы соответствовать приведенному ниже шаблону 2

  1. Я ожидаю вывод lower (e.userid) = 'user1 ' будет ниже (e.userid) =' **** ' во время регистрации.

  2. Я ожидаю выход e.userid = 'user1' И должно быть e.userid = '****' И во время регистрации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...