gpt4 book ai didi

java - 匹配到逗号前最后 3 个字符的正则表达式

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:11:19 26 4
gpt4 key购买 nike

也许有人问过这个问题,但我肯定找不到我想要的答案:

我在匹配字符串中的特定字符时遇到困难:

"88551554,86546546,51516565"

我要匹配的数字是下面的 X:

"XXXXX554,XXXXX546,XXXXX565"

现在我只能找出每个逗号前的最后 3 位数字:

\d{3}(?=,)

而且由于数字的长度是动态的,所以似乎无法指定 3 位数字之前的位数。

有人可以帮忙吗?

提前致谢!

最佳答案

您可以使用这个前瞻性正则表达式:

(\d+)(?=\d{3}(?:,|$))

RegEx Demo

这将匹配和分组 1 个或多个数字,这些数字必须后跟 3 个数字和一个逗号或输入结尾。在捕获组的演示链接中检查匹配信息


更新:要用 X 替换所有匹配的数字,请使用:

str = str.replaceAll("\\d(?=\\d*\\d{3}(?:,|$))", "X");

正则表达式演示 2

关于java - 匹配到逗号前最后 3 个字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27849675/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com