2016-04-17 9 views
0

Kann ich den Unterschied zwischen.? und .??. Ich sehe keinen Unterschied. Danke für die Hilfe.Regex Klarstellung über die Verwendung von.? und .?

+0

(die .?? nichts verbraucht) Ich bin nicht wirklich sicher, was du fragst. Hast du versucht, die gleichen Muster zu verwenden? Wenn ja, können Sie den Code, den Sie ausprobiert haben, mit Ihren Eingaben versehen, was würden Sie von den Ausgaben erwarten? –

+0

sicher. Ich habe die Regex "l.?z" und "l.??z" in lazzzzzzzzz überprüft. Beide passen bis zum Ende, wobei "l.?z" mit lzz in "lzzzzzzzzz" und nur "lz" mit l.??z übereinstimmt. Vielen Dank. –

Antwort

0

.? ist gierig (konsumiert so viele Streichhölzer wie möglich),. ?? ist faul (verbraucht so wenig Übereinstimmungen wie möglich)

dh für die Zeichenfolge lzzzz, l.?z matches "LZZ" (der .? verbraucht z) aber matches "lz"

+0

Sehen Sie dies für eine Erklärung des Unterschieds: http://stackoverflow.com/questions/2301285/what-do-lazy-and-greedy-mean-in-the-context-of-regular-expressions – Tibrogargan

+0

Hi Tibro! Aber ist kein "?" benutzt, um nicht mehr gierig zu sein? –

+0

@ Sameer_184? Bedeutet einfach "der vorherige Ausdruck ist optional". Gierig zu sein heißt "konsumieren, wenn du kannst" .. also tat es. faul bedeutet "konsumiere nicht, wenn du es nicht brauchst, also'. ?? 'nicht. Die' l' und 'z' sind immer noch erforderlich, aber'. ?? 'stimmt mit nichts überein. – Tibrogargan

Verwandte Themen