0
Что я сделал:Java регулярного выражения и согласовани
public static String cvtPattern(String str) {
StringBuilder pat = new StringBuilder();
int start, length;
pat.append('^');
if (str.charAt(0) == '\'') { // double quoting on Windows
start = 1;
length = str.length() - 1;
} else {
start = 0;
length = str.length();
}
for (int i = start; i < length; i++) {
switch(str.charAt(i)) {
case '*': pat.append('.'); pat.append('*'); break;
case '.': pat.append('\\'); pat.append('.'); break;
case '?': pat.append('.'); break;
default: pat.append(str.charAt(i)); break;
}
}
pat.append('$');
return new String(pat);
}
Тогда на моем главном:
//my args[0] is the string ".java"
pattern = Regex.cvtPattern(args[0]);
Pattern p = Pattern.compile(pattern);
System.out.println("Pattern: " +p.toString());
Matcher m = p.matcher(fileName);
if (m.matches()){
System.out.println("File to be added: "+currentFile.getName());
matchQueue.add(file);
}
мой вход .java, и он будет составлен к^.java $. Как получилось, когда мое имя файла - что-то. Java, оно не совпадает? Где я сделал ошибку?
так, какая часть я сделал не так? – 10e5x
О, я получил его уже, спасибо спасибо. Вы решили мою проблему – 10e5x