UB: Regex.Match von C # gibt beim Abgleichen eine ganze Zeichenfolge anstelle eines Teils zurück
Beachtung! Das istNICHT bezüglichRegex-Problem, entspricht der gesamten Zeichenfolge anstelle eines Teils
Hallo zusammen. Ich versuche es zu tun
Match y = Regex.Match(someHebrewContainingLine, @"^.{0,9} - \[(.*)?\s\d{1,3}");
Abgesehen von den anderen hebräischen VS-Macken (wie möchten Sie] für [beim Bearbeiten der Zeichenfolge ersetzen?), Werden gelegentlich die verrückten Ergebnisse zurückgegeben:
Match.Captures.Count = 1;
Match.Captures[0] = whole string! (not expected)
Match.Groups.Count = 2; (not expected)
Match.Groups[0] = whole string again! (not expected)
Match.Groups[1] = (.*)? value (expected).
Regex.Matches()
verhält sich genauso.
Was kann ein allgemeiner Grund für ein solches Verhalten sein? Hinweis: Auf einfache Teststrings wie folgt wird nicht reagiertRegex.Match("-היי45--", "-(.{1,5})-")
(Beispiel wird falsch angezeigt! Bitte beachten Sie den Quellcode der Seite.)Es muss etwas mit dem Regex geben, das es gierig macht. Die übereinstimmende Zeichenfolge enthält[ .... ]
Das Hinzufügen zu einer Testzeichenfolge bewirkt jedoch nicht den gleichen Effekt.