regex längen vorberechnen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
algorithmus
aufwand
automat
berechnen
code
einfaches fragezeichen
entscheiden
form
frage
handarbeit
jemand
kurze frage
lesestoff
liefern
paar
realisieren
test
url
vorkommen
-
Hallo liebe Leuts,
eine kurze Frage, die leider Google mir nicht beantworte konnte.
Ist es möglich aus einem regex die maximal und minimal länge zu berechnen?
Also z.B.:
/test|sehrlang/ => min: 4 max: 8 /hallo{0,3}/ => min: 0 max: 15 /[a-z]*/ => min: 0 max: infinity /(test|nocheintest)..[a-z]?/ => min: 6 max: 14
gibt es so etwas?
Wenn ja wie heißt es :D
Danke :)
Beitrag zuletzt geändert: 27.8.2015 9:29:11 von willstdueswissen -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo.
So etwas ist mir noch nie begegnet, das ist schon etwas recht spezielles, was du da möchtest. Meine Überlegungen dazu:
Bei einfachen Ausdrücken kann man sich mit überschaubarem Aufwand selbst etwas zusammenbasteln. So richtig kompliziert wird es dann aber, wenn in den regulären Ausdrücken auch noch positive/negative Lookaheads und Lookbehinds vorkommen.
(Lesestoff zu diesen Begriffen bei danielfett.de)
Mir stellt sich aber auch die Frage, wozu du so etwas verwenden möchtest. Falls es nur um einzelne Ausdrücke geht, ist wohl Handarbeit effektiver.
Wahrscheinlich möchtest du es aber automatisieren. Solltest du dich dazu entscheiden, das selbst umzusetzen, kann ich dir auch noch ein paar Ansätze liefern. -
Also gut,
dann gibt es nichts das das berechnet...
Schade.
positive/negative Lookaheads kann man durch ein einfaches fragezeichen erstzen, geht es um die calculation der min und max länge (da entwender trifft es zu oder auch nicht.
Man muss halt nur gucken ob lookahead oder lookbehind, welches der zeichen auf die abfrage reagiert.
ich dachte nur, da man diese form eigentlich öfters gebrauchen kann (als ich wenigstens) könnte das jemand anderes schon realisiert habe :)
Dann werde ichs realisieren :P -
Du wandelst den regulären Ausdruck zunächst in einen Automaten (NEA oder DEA) um, erstellst dann den Graphen und nutzt Algorithmen für den kürzesten/längsten Weg.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage