Замените свободную строку, используя регулярное выражение - PullRequest
0 голосов
/ 26 апреля 2018

При отправке журналов я хочу заменить значения id и pw как на:

https://m.xxxxx.com/yyyy.xxxx?id=aaaa&pw=cccc
https://m.xxxxx.com/aaaa.xxxx?id=aaaa&pass=cccc

с различными значениями, такими как:

https://m.xxxxx.com/yyyy.xxxx?id=*&pw=****
https://m.xxxxx.com/aaaa.xxxx?id=*&pass=****

Трудно создать плагин. Можно ли перевести преобразование значения id = aaaa в id = **** с использованием существующих filter_record_transformer или grep? Разве нельзя использовать gsub из filter_record_transformer?

1 Ответ

0 голосов
/ 26 апреля 2018
"https://m.xxxxx.com/yyyy.xxxx?id=aaaa&pw=cccc".
  gsub(/(?<=id=)[^&]+|(?<=pw=)[^&]+/) { |m| '*' * m.length }
#⇒ "https://m.xxxxx.com/yyyy.xxxx?id=****&pw=****"

Мы используем положительный взгляд позади , чтобы точно соответствовать id и pw частям запроса.

...