繁体   English   中英

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

[英]Regex : Digits followed by only one character

我正在尝试创建一个正则表达式,它只允许在Textfield中的每个数字后面只有一个数字后跟一个字符

需要匹配的正则表达式 - \\ 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程序,如果它冒犯了某人,我很抱歉。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM