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