Ich versuche, einen einfachen regulären Ausdruck zu schreiben, um alle Dateinamen in einer Liste zu identifizieren, die mit der Erweiterung ".req.copied" enden. Der Code I bin mit untenRegulärer Ausdruck für Dateierweiterungen in Java
public class Regextest {
public static void main(String[] args) {
// TODO Auto-generated method stub
String test1=new String("abcd.req.copied");
if(test1.matches("(req.copied)?")) {
System.out.println("Matches");
}
else
System.out.println("Does not Match");
}
}
Die Regex Tests ok in Online-Regex Tester aber funktioniert nicht im Programm. Ich habe mehrere Kombinationen ausprobiert (wie split req und kopierte in zwei regexes, oder Literalabgleich des Punktzeichens), aber nichts funktioniert (sogar die einfachste Regex von (reg)? Gab eine Ausgabe "Nicht stimmt" zurück). Bitte lassen Sie mich wissen, wie ich das angehen kann.
Warum nicht einfach 'string.endsWith ("req.copied.") Verwendet werden soll; '? – resueman
Einige Dateien im Verzeichnis haben eine benutzerdefinierte Erweiterung wie ".err" nach ".req.copied" (d. H. ".req.copied.err"). Aber du hast Schluss damit, die Hälfte des Problems zu lösen. Danke Resueman. – MohanVS
Sie könnten 'contains()' – sinclair