Logback:用 ******** 和最后两位数字替换 10 位数字

Tho*_*mas 5 regex logging logback

我在我的模式(logback.xml)中使用以下内容来替换我的日志中的 10 位数字。

%replace(%msg){'\d{10}','**********'}
Run Code Online (Sandbox Code Playgroud)

这种方法的一个问题是,它也匹配 11 位数字的前 10 位数字。有没有办法精确匹配 10 位数字。

现在更大的问题是我需要显示这个 10 位数字的最后两位数字。

Uni*_*ron 3

显示(不捕获)最后两位数字,请参阅以下正则表达式:

'\b\d{8}(?=\d{2}\b)'
Run Code Online (Sandbox Code Playgroud)

查看正则表达式演示!

这将在两个数字之前找到 8 个数字,其中 10 个数字被包裹在字边界内。由于(?= )是肯定的前瞻断言,因此不会匹配。整个匹配可以替换为:

********
Run Code Online (Sandbox Code Playgroud)

无需捕获组。