[英]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.