我想用“X”替换日志中的所有数字,但我想保留信息的 HTTP 状态代码。
我一直在尝试不同的方法。它们都不起作用。
str.replaceAll("(?!5\d\d|4\d\d)\d{3}", "X") //Didn't worked
// Error trying to POST to /shipments/X5X5X/select?caller.id=XX592: 500 INTERNAL_SERVER_ERROR
我需要它是:
来自:
Error trying to POST to /shipments/28056415973/select?caller.id=116089592: 500 INTERNAL_SERVER_ERROR
收件人:
Error trying to POST to /shipments/XXXX/select?caller.id=XXXX: 500 INTERNAL_SERVER_ERROR
最佳答案
如果您要选择的数字后面永远没有空格和大写字符 A-Z,您可以使用否定先行:
\b[0-9]+\b(?! [A-Z])
解释
\b[0-9]+\b
匹配字边界之间的1+个数字(?!
否定前瞻,断言右边的不是[A-Z]
匹配空格和大写字符 A-Z
)
关闭前瞻
关于java - 正则表达式 - 我需要替换所有数字但特定的 3 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57877003/