我正在尝试
String string = "123456";
if(string.startsWith("[0-9]") && string.endsWith("[0-9]")){
//code
}
永远不会调用if子句。
答案 0 :(得分:19)
不要使用正则表达式:
Character.isDigit(string.charAt(0)) &&
Character.isDigit(string.charAt(string.length()-1))
答案 1 :(得分:9)
类startsWith()
中的方法endsWith()
和String
只接受字符串,而不是正则表达式。
答案 2 :(得分:4)
您可以使用:
String string = "123test123";
if(string.matches("\\d.*\\d"))
{
// ...
}
答案 3 :(得分:4)
您可以matches
使用String
方法:
public static void main(String[] args) throws Exception {
System.out.println("123456".matches("^\\d.*?\\d$"));
System.out.println("123456A".matches("^\\d.*?\\d$"));
System.out.println("A123456".matches("^\\d.*?\\d$"));
System.out.println("A123456A".matches("^\\d.*?\\d$"));
}
输出:
true
false
false
false
答案 4 :(得分:0)
请按照代码段进行操作。
String variableString = "012testString";
Character.isDigit(string.charAt(0)) && variableString.Any(c => char.IsUpper(c));