有条件地查找和替换双引号中指定的字符串

时间:2018-08-24 12:31:32

标签: javascript node.js regex

我有一个长字符串,可以说一部分是: signin(email: \"haroon@gmial.com\", password: \"123\") 我想用诸如password之类的模糊文本替换针对"123"---hidden---存储的值,以进行记录,因为这是敏感信息。 识别和替换上述字符串的最有效的方法是什么?

1 个答案:

答案 0 :(得分:2)

使用:

(?<=password:\s)\\".*\\"(?=\))

Example Tests

signin(email: \"haroon@gmial.com\", password: \"123\")
signin(email: \"haroon@gmial.com\", password: \"supersecreetPassword123\")
signin(email: \"haroon@gmial.com\", password: \"123w453457634\")

替换它,变成:

signin(email: \"haroon@gmial.com\", password: --hidden--)
signin(email: \"haroon@gmial.com\", password: --hidden--)
signin(email: \"haroon@gmial.com\", password: --hidden--)

谈论性能时,您可以使用大约〜14000 条线来检查this online test,而只需花大约562ms的时间即可匹配所有