Java 正则表达式以删除特定模式

Java 正则表达式以删除特定模式,java,regex,Java,Regex,我想从值为数字的字符串中删除所有那些键值对 现在我正在做这样的事情 String str=",Name=Tom,Age=23,something=something,roll=1,somethng=55," 预期产量为 Pattern p = Pattern.compile(",[^=]*?=([^,]*),"); Matcher m = p.matcher(str); String result = ""; while (m.find()) {

我想从值为数字的字符串中删除所有那些键值对

现在我正在做这样的事情

String str=",Name=Tom,Age=23,something=something,roll=1,somethng=55,"
预期产量为

    Pattern p = Pattern.compile(",[^=]*?=([^,]*),");
    Matcher m = p.matcher(str);
    String result = "";
    while (m.find()) {
        if (!isNumeric(m.group(1))) {
            result += m.group(0);
        }

    }
    System.out.println(result);
但现在我越来越紧张了

",Name=Tom,something=something,"
请帮忙

",Name=Tom,,something=something,"

你可以试试这个。

不需要勉强的量词。我会使用正则表达式
“(^ |,)[^,=]+=[0-9]+(?=,|$)”
。它可以防止缺少前导逗号、尾随逗号和值,如
”、name=Tom、publicKey=24abf3ced、other=something,“
,您的正则表达式将这些值转换为
”、name=Tomabf3ced、other=something,“
result=str.replaceAll(",[^=]*?=[0-9]+", "");
System.out.println(result);