Thread "Abkürzungen" in regexes (2 answers)
Opened by FoolAck at 2008-12-07 13:17

FoolAck
 2008-12-07 13:17
#116901 #116901
User since
2008-05-02
69 Artikel
BenutzerIn
[default_avatar]
Moin Perl Community und gleich mal sorry: mir fiel kein besserer Titel ein.

Das Problem: beim Vim zum Beispiel kann man ja statt 'quit' auch einfach 'q', 'qu' oder 'qui' eingeben (das gilt für alle Kommandos, insofern sie dann eindeutig sind.)

Wollt mal fragen ob es da mit (perls) regulären Ausdrücken ne einfachere Lösung gibt, als diese hier:
Code (perl): (dl )
^q(u(i(t)?)?)?$

(Schon klar, dass das (?: ... ) Konstrukt besser wäre, aber der Lesbarkeit zu Liebe hab ichs mal weggelassen.)
Es würde mir auch noch diese Möglichkeit einfallen:
Code (perl): (dl )
^(quit|qui|qu|q)$


Beides irgendwie nicht das Wahre. Und bei längeren Wörtern würde es schnell ziemlich lang und unübersichtlich werden. Gibts da irgendne Möglichkeit, die ich übersehen habe?
Also ich mein jetzt nicht das Vervollständigungsproblem als Gesamtkomplex, sondern nur diesen spezifischen Fall, wo man quasi hardgecodet festlegt, ab wo ein Ausdruck eindeutig ist (und der Rest dann optional).

Bei einem richtigen Vervollständigungssystem würde man generell anders rangehen.

View full thread "Abkürzungen" in regexes