我已经对Java代码正则表达式 - Java的工作不
System.out.println("...Somtime".matches("^[^a-zA-Z]"));
其中返回false线。为什么?任何人都可以帮忙吗?
我已经对Java代码正则表达式 - Java的工作不
System.out.println("...Somtime".matches("^[^a-zA-Z]"));
其中返回false线。为什么?任何人都可以帮忙吗?
String.matches("regex")
此方法将对阵整个字符串的正则表达式。如果字符串匹配正则表达式,它会返回true
和false
否则
System.out.println("...Somtime".matches("^[^a-zA-Z]{3}[a-zA-Z]+"));
这里使用的是三个点{3},这回true
System.out.println("Somtime".matches("^[^a-zA-Z]"));
其返回false
String#matches
匹配在两端,所以你的模式应该覆盖整个字符串。而且你也不需要在开始时给那些主播(Caret - ^)
。这是隐含的。
现在,由于您的前三个字符匹配 - [^a-zA-Z]
,而后面的字符匹配 - [a-zA-Z]
。
所以,也许你想: -
"...Somtime".matches("[^a-zA-Z]{3}[a-zA-Z]+")
因为整个字符串应该匹配你的表情 – hoaz
嗨haoz:谢谢,真的很有帮助 – zwang