Nel tentativo di elaborare una risposta alla domanda this, ora sto cercando di venire a patti con il comportamento/significato delle espressioni regolari Zero-Length.regex a lunghezza zero e corrispondenze infinite?
Spesso uso www.regexr.com come un parco giochi per testare/eseguire il debug/capire cosa succede nelle espressioni regolari.
Quindi abbiamo questo scenario più banale:
L'espressione regolare è a*
La stringa di input è dgwawa
(È un dato di fatto, la stringa qui è irrilevante)
Perché questo comportamento di segnalare che questa regex corrisponderà all'infinito, poiché corrisponde a zero occorrenze del carattere precedente?
Perché il risultato non può essere di 6 corrispondenze, una per ogni posizione di carattere (poiché ad ogni carattere, indipendentemente dal fatto che si tratti di un a oppure no, c'è una corrispondenza, poiché le corrispondenze zero sono una corrispondenza)?
Come si combina all'infinito? Quindi non è check/progress un personaggio alla volta?
Mi chiedo come/dove si immette in un ciclo infinito.
Bello. Mi è stato detto prima che regexr segua uno specifico sapore regex. Dovrei tenerne conto più seriamente. – Veverke
Vedere [* Sandbox online (per testare e pubblicare regex online) *] (http://stackoverflow.com/tags/regex/info) per selezionare quello desiderato. –
Grazie per la risposta completa e approfondimenti! Lavoro eccellente. – Veverke