Falls man komplexer in Eclipse suchen möchte, so besteht auch
die Möglichkeit Regular Expressions zu benutzen.

Regular Expressions(o.a. RegExp)/Regulärer Ausdrücke sind quasi Mengenabfragen
über Zeichenketten. Sie werden auch oft für Ersetzungsregeln verwendet.

Diese Regeln werden sehr schnell abgearbeitet, so das z.B. 2.000 Dateien
in wenigen Sekunden nach diesen Patterns/Mustern durchsucht werden.

In diesem Beispiel habe ich das Problem, dass durch unterschiedliche Zeichensätze
Umlaute in Fragezeichen umgewandelt wurden.

Diese Problem betrifft mehrere hundert Dateien. Mit Hilfe der RegExps möchte ich
die Codestellen finden wo z.B. wählen zu w?hlen wurden, ohne das ich jede Datei
einzel per Hand durchsuchen möchte.

ö, ä und ü stehen ja immer bei anderen Buchstaben.

Alle Buchstaben kann man per RegExp mit [A-Za-z] definieren. Alle Zeichen
von A bis Z und alle von a bis z.

Falls man nur Fragezeichen suchen möchte, geht das mit \?. Der Backslash ist
zum Maskieren des Fragezeichens, da es ansich eine RegExp-Funktionalität hat.

Umlaute können auch am Wortanfang stehen, so das nicht zwingend ein Buchstabe vorher
gehen muss, also Buchstaben davor oder dahinter.

Das ODER wird per Pipe | gesteuert.

Also entweder [A-Za-z]\? oder \?[A-Za-z]. Dieses muss als eine Gruppe
definiert werden. Gruppen setzt man mit Klammern.

Also: ([A-Za-z]\?|\?[A-Za-z])

Im Code sind oft so Stellen wie …do?todo…, …do?prepro…. und … x oder y oder z …

Also brauch‘ man nur eine Teilmenge vom Ergebnis. Mit ^ kann man Mengen subtrahieren.

[^(o\?t|o\?pr|\?xml|.do\?|ll\?“)] ist die Subtraktion.

Im Endeffekt hat man dann: (([A-Za-z]\?|\?[A-Za-z])[^(o\?t|o\?pr|\?xml|.do\?)])

Regular Expressions bei der Eclipse-Dateisuche

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Wir verwenden Cookies, um Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Außerdem geben wir Informationen zu Ihrer Nutzung unserer Website an soziale Medien und für Analysen weiter. Durch die Benutzung unserer Webseite stimmen Sie dem zu. Weitere Informationen

Wir verwenden Plugins, mit denen Sie unsere Inhalte in sozialen Medien wie Facebook, Twitter und Google+ teilen können. Bereits durch den Aufruf von Seiten werden Informationen an diese sozialen Medien weitergegeben. Außerdem verwenden wir Google Analytics, um die Nutzung unserer Seite analysieren zu können.

Schließen