UB: Regex.Match do C # retorna seqüência inteira em vez de parte ao combinar

Atenção! Isto éNÃO relacionado aProblema de regex, corresponde a string inteira em vez de uma parte

Olá a todos. Eu tento fazer

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

Além das outras peculiaridades do VS hebraico (como você gosta de substituir) para [ao editar a string?), Ela ocasionalmente retorna os resultados malucos:

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() está agindo da mesma maneira.

Qual pode ser uma razão geral para tal comportamento? Nota: não está agindo dessa forma em um teste simples comoRegex.Match("-היי45--", "-(.{1,5})-") (a amostra é exibida incorretamente !, por favor, olhe para o código fonte da página), deve haver algo com o regex que o torne ganancioso. A cadeia combinada contém[ .... ], mas simplesmente adicioná-los à string de teste não causa o mesmo efeito.

questionAnswers(3)

yourAnswerToTheQuestion