UB: Regex.Match C # zwraca cały łańcuch zamiast części podczas dopasowywania

Uwaga! To jestNIE związany zProblem Regex, dopasowuje cały łańcuch zamiast części

Cześć wszystkim. staram się robić

Match y = Regex.Match(someHebrewContainingLine, @"^.{0,9} - \[(.*)?\s\d{1,3}");

Oprócz innych dziwactw hebrajskich VS (jak lubisz zamieniać) na [podczas edycji ciągu?], Czasami zwraca zwariowane wyniki:

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() działa w ten sam sposób.

Co może być ogólnym powodem takiego zachowania? Uwaga: nie działa w ten sposób na prostych ciągach testowych, takich jakRegex.Match("-היי45--", "-(.{1,5})-") (próbka jest wyświetlana niepoprawnie!, spójrz na kod źródłowy strony), musi istnieć coś z wyrażeniem regularnym, które sprawia, że ​​jest chciwy. Dopasowany ciąg zawiera[ .... ], ale dodanie ich do ciągu testowego nie powoduje tego samego efektu.

questionAnswers(3)

yourAnswerToTheQuestion