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.