>我正在尝试创建一个正则表达式,该正则表达式只允许文本字段中每个数字后跟一个字符
需要匹配的正则表达式 - \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程序,如果它冒犯了某人,我很抱歉。