正则表达式:数字后跟一个字符



>我正在尝试创建一个正则表达式,该正则表达式只允许文本字段中每个数字后跟一个字符

需要匹配的正则表达式 - \d*\+{1}

正则表达式如果不匹配 - [^\d*\+({1}] 将替换为 "(删除其他所有内容(

final String regexFinalInteger = "\d*\+{1}";
    numberElements.textProperty().addListener((observable, oldValueE, newValueE) -> {
        if (!newValueE.matches(regexFinalInteger)) {
            numberElements.setText(newValueE.replaceAll("[^\d*\+){1}]", ""));
        }
    });
我期望输出为 122+1+

3,但实际输出可以是 1++2+++4+123(多个 +(

如果我

理解正确,您希望仅用一个替换多个+

我相信这将使您能够找到:

String regex = "[+](?=[+])";
String text = "122+1+3";
assertEquals("122+1+3", text.replaceAll(regex, ""));
text = "1++2+++4+123";
assertEquals("1+2+4+123", text.replaceAll(regex, ""));

这是我的第一个Java程序,如果它冒犯了某人,我很抱歉。

相关内容

  • 没有找到相关文章

最新更新