次のようなオブジェクトがあります。
{
"property1": "value1",
"headers": {
"property2": "value2",
"Authentication": "Basic username:password"
},
"property3": "value3"
}
パスワードを編集してユーザー名を保持する必要があります。
正規表現を使用してJavascriptの単語で始まる削除行から、私は試しました:
var redacted = JSON.stringify(myObj,null,2).replace( /"Authentication".*\n?/m, '"Authentication": "Basic credentials redacted",' )
...しかし、これはユーザー名を保持せず、すべての二重引用符 ( "
--> \"
) の前にバックスラッシュを挿入します。
パスワードリテラル文字列に反応し、他のすべてをそのままにしておく正しい正規表現は何ですか?