我需要驗證和防止輸入字符串輸入'='(等號),我用正則表達式來捕獲它[=]*
。但它也捕獲其他字符串。前輸入:2c450807-4a4c-4f18-bf4f-5a100ced87a0。上面的正則表達式也捕獲這個字符串。 請幫助我。正則表達式驗證問題
還有,任何人都可以請解釋我爲什麼這個正則表達式不捕捉輸入。我需要捕捉正則表達式中提到的特殊字符。
final String REGEX="[.,%*$#@?^<!&>'|/\\\\~\\[\\]{}+=\"-]*";
Pattern pattern = Pattern.compile(REGEX);
Matcher matcher = pattern.matcher("2c450807-4a4c-4f18-bf4f-5a100ced87a0");
if (matcher.matches()) {
System.out.println("found");
}
else{
System.out.println("not found!");
}
此打印「未找到!」
請提供您的完整相關代碼。也許你需要使用'='或'= +'?注意'[=] *'可以匹配一個空字符串,所以它會匹配任何*字符串。 –
您可以簡單地使用someString.contains(「=」)來檢查它是否包含=或不。如果它包含,它將返回true。 –
我建議使用英文拼寫檢查器,從您的問題中獲得更好的印象是非常有用的。 – peterh