正则表达式 - Java不工作

zwa*_*ang 0 java regex

我有一行Java代码

System.out.println("...Somtime".matches("^[^a-zA-Z]"));

哪个返回false.为什么?任何人都可以帮忙吗?

Roh*_*ain 5

String#matches两端匹配,因此您的模式应覆盖整个字符串.而且你也不需要(Caret - ^)在开始时给这些锚点.这是隐含的.

现在,因为你的前三个字符匹配 - [^a-zA-Z]而后面的字符匹配 - [a-zA-Z].

所以,你可能想要: -

"...Somtime".matches("[^a-zA-Z]{3}[a-zA-Z]+")
Run Code Online (Sandbox Code Playgroud)