我有一個輸入對話框,我想檢查用戶是否輸入了特定的模式。例如,用戶可以鍵入任何數字-和任何數字。像這樣的東西10-20。如何檢查用戶是否輸入了這種模式?
uj5u.com熱心網友回復:
假設數字保證為正整數,@Eritrean 的建議是正確的。
String input = "10-20";
String regex = "\\d -\\d ";
System.out.println("Input is valid? " input.matches(regex));
對于當前輸入,它將列印出輸入有效(“true”),因為它匹配給定的正則運算式。類似的輸入10-A0無效,因此將列印出“假”。
如果不能保證輸入是正整數,那么我的建議如下:
- 對于有符號值,
[- ]?在每個數字模式前添加:[- ]?\\d -\\d [- ]?. 這將通過在數字前面允許可選的符號字符來匹配有符號整數。 - 對于浮點數,我建議
\\d*\\.?\\d. 此正則運算式要求數值在小數點前有可選數字,在小數點后有無限位數。它也匹配整數值。因此,像\\d*\\.?\\d -\\d*\\.?\\d, 這樣的正則運算式應該能夠解釋由破折號分隔的整數和浮點數。如果您需要帶符號的浮點數,請遵循上面#1 中的建議。
uj5u.com熱心網友回復:
要檢查輸入是否正確,請執行以下操作:
在 Java 中:
Pattern pattern = Pattern.compile("^[0-9] -[0-9] ",Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher("10-20");
boolean matchFound = matcher.find();
if(matchFound) {
System.out.println("Match found");
} else {
System.out.println("Match not found");
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/444339.html
上一篇:importcom.amazonaws.services.s3無法解決
下一篇:在mac上找不到jvm路徑
