我有一個驗證字符串,並確保它不具有任何空格或大寫字符的方法:Java的正則表達式來找到空格或大寫字符
boolean validate(String input) {
if(input.matches(".*\\S.*([A-Z]+)")) {
return false;
}
return true;
}
不幸的是,當我運行這個,它根本不起作用。它不會拋出任何異常,它只允許所有輸入字符串(「HelloWorld」,「hello world」,「Hello world」等)通過驗證。任何想法,我要去錯了嗎?
如果你的字符串至少有一個**非空白**字符,然後至少有一個大寫字母,你的正則表達式將匹配。它不會執行你想要的比賽。 – Guss 2014-10-17 15:40:58
您最好使用「負面正則表達式」和「.find()」;即'最終模式wsOrUpper = Pattern.compile(「[A-Z \ s]」)',然後嘗試和'wsOrUpper.matcher(input).find())' – fge 2014-10-17 16:01:58