所以我正在使用正则表达式.所以我只想检测字符串是否包含任何数字.如果它匹配它.
Case 1 "abc" -> false
Case 2 "165-45" ->true
Case 3 "ab3b" -> true
Case 4 "1231asdf" -> true
Case 5 "asdfasd123213" -> true
Case 6 "12-465" -> true
Case 7 "ASDSAD" -> False
Run Code Online (Sandbox Code Playgroud)
到目前为止,我得到了但是第3和第4案失败了
if(query.matches("[0-9,-]+$")){
// contains a number
System.out.println("match");
} else{
// does not contain a number
System.out.println("not match");
}
Run Code Online (Sandbox Code Playgroud)
为什么要用逗号,连字符和输入结尾来打扰?
该matches方法也与整体相匹配String.
我会用以下内容:
System.out.println(Pattern.compile("\\d").matcher(query).find());
Run Code Online (Sandbox Code Playgroud)
完整示例:
String[] queries = { "abc", // -> false
"165-45", // -> true
"ab3b", // -> true
"1231asdf", // -> true
"asdfasd123213", // -> true
"12-465", // -> true
"ASDSAD" // -> false
};
Pattern p = Pattern.compile("\\d");
for (String s : queries) {
System.out.println(p.matcher(s).find());
}
Run Code Online (Sandbox Code Playgroud)
产量
false
true
true
true
true
true
false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
308 次 |
| 最近记录: |