Я пытаюсь заставить эти строки регулярных выражений работать, но они, похоже, не работают (я не могу распечатать «совпадения».Попытка проверить, содержит ли строка специальные символы или нижний регистр java
Моя цель - прочитать в строке из Сканера и затем запустить эту функцию. Если строка имеет либо строчные значения, либо специальные символы, тогда я хочу вызвать недопустимую функцию, а затем вернуть значение NULL. Тогда в методе isValid() я будет иметь его вернуть ложь и конец.
, если он содержит ЧИСЛО и прописные символы только я хочу, чтобы вернуть строку, как это так, что может делать другие вещи.
Кажется, я не могу распечатать «матчи». Я уверен, что я делаю это правильно, и это действительно расстраивает меня, я проверял форумы по-разному, но никто, похоже, не работает.
Спасибо за помощь.
public static String clean(String str){
String regex = "[email protected]#$%^&*:;<>.,/}{+";
if (str.matches("[" + regex + "]+")){
printInvalidString(str);
System.out.println("matches");
} else{
return str;
}
return null;
}
public static boolean isValid(String validationString){
//clean the string
validationString = clean(validationString);
if (validationString == null){
return false;
}
Я думаю, что еще одна проблема в том, что символ '^ 'должны быть экранированы даже между кронштейнами –
@Pablo это не обязательно, если только это не первый символ. – assylias