Thread RegEx Frage (capturing)
(9 answers)
Opened by docsnyder at 2006-09-25 17:32
Hi!
Kann mir jemand sagen, warum der folgende RegEx Code: (dl
)
(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3}); zum Matchen von IP-Adressen "nicht" mit dem folgenden RegEx identisch ist? Code: (dl
)
(?:(\d{1,3})\.){3}(\d{1,3}) Matcht man gegen "10.20.30.40", sind beim ersten RegEx $1, $2, $3, $4 entsprechen mit "10", "20", "30", "40" belegt. Beim zweiten RegEx dagegen, sind nur $3 und $4 mit "30" bzw. "40" belegt. Beide RegEx matchen, aber beim Zweiten wird beim wiederholten Capturing "(?:(\d{1,3})\.){3}" nur einmal gecaptured, und zwar der letzte Match. Warum ist das so? Gruß, Doc |