我已經對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