Java Regex, um eine bestimmte Datei zu finden

8

In einem meiner Testfälle möchte ich ein bestimmtes Gefäß einer Komponente von einem Ort zu einem anderen Ort kopieren. B. wenn das Zielverzeichnis nur folgende jars enthält

org.test.custom.search-4.2.2-SNAPSHOT-.jar
org.test.custom.search-4.2.2- Tests -SNAPSHOT.jar

Ich möchte die org.test.custom.search-4.2.2-SNAPSHOT-.jar kopieren. Wo Version dieses Glases jederzeit geändert werden kann. Also kann ich die Regex für diesen Zweck verwenden, wie hier erwähnt [1]. Aber ich möchte wissen, wie man das andere Glas in Regex weglässt. d. h. das Jar mit dem String " tests " in seinem Namen weglassen soll.

1. Regex für Dateien in einem Verzeichnis

    
Jenananthan 29.07.2016, 08:01
quelle

4 Antworten

1

Sie können indexOf anstelle von regex verwenden, um zu prüfen, ob der Dateiname, der das Wort "testet" enthält, wie folgt lautet:

%Vor%

Update: indexOf() ist viel schneller als ein regex und ist wahrscheinlich auch leichter zu verstehen.

    
Bahramdun Adil 29.07.2016, 08:05
quelle
1

Die regex basierte Lösung wäre:

%Vor%     
xenteros 29.07.2016 08:10
quelle
0

Entspricht dem SNAPSHOT genau mit einer gegebenen Versionsnummer und ignoriert alle anderen (einschließlich Tests - SNAPSHOT):

%Vor%     
Drgabble 29.07.2016 08:48
quelle
-1

Eine Regex, die dem Hauptglas, aber nicht dem Testglas entspricht, könnte sein:

%Vor%

Es hat einen negativen Matcher für die Zeichenfolge "Tests". Beachten Sie, dass Sie die Backslashes umgehen müssen, wenn Sie diese Regex in eine Zeichenfolge einfügen.

    
Hosam Aly 29.07.2016 08:34
quelle

Tags und Links