Quantcast
Viewing latest article 1
Browse Latest Browse All 61

RegExp in Aktion: Suffix als Filterkriterium

Immer mal wieder bin ich froh, das es RegularExpressions gibt. Sie helfen sehr dabei, schnell Änderungen in umfangreichen, strukturierten Texten (z.B. Quellcode Image may be NSFW.
Clik here to view.
;-)
) vorzunehmen.

Ab und zu passiert es mir, das ich mir einen regulären Ausdruck erarbeite und 2 Wochen später einen ähnlichen Fall habe, den RegExp aber nicht dokumentiert habe – und mir nochmal erarbeite. Das hilft zwar, das Schreiben regulärer Ausdrückezu üben, ist aber nicht unbedingt effizient Image may be NSFW.
Clik here to view.
;-)

Daher fange ich mal an den Ausdruck, der mir heute geholfen hat festzuhalten:

Es geht darum, alle vorkommen von „document“ mit „documents“ zu ersetzen. Natürlich sollen dabei die Vorkommen, bei denen das „s“ bereits angehängt ist, nicht ersetzt werden um nicht mit einem „documentss“ zu enden. Zum Testen als die Varianten:

document
documentReader
documentsFolla
Document

Des Rätsels Lösung ist der Ausdruck

(document)(?!s)

Den man z.B. im Sublime Editor oder in IntelliJ IDEA problemlos verwenden kann, wie im Screenshot zu sehen.

Bei dem ?! handelt es sich um ein sogenanntes „negative lookahead“, mehr dazu unter regular-expressions.info

Have fun! Image may be NSFW.
Clik here to view.
:)


Viewing latest article 1
Browse Latest Browse All 61