UB: C # Regex.Match возвращает всю строку вместо части при сопоставлении
Внимание! ЭтоNOT относится кЗадача регулярного выражения, сопоставляет всю строку вместо части
Всем привет. Я пытаюсь сделать
Match y = Regex.Match(someHebrewContainingLine, @"^.{0,9} - \[(.*)?\s\d{1,3}");
Помимо других ивритских причуд VS (как вы любите заменять) для [при редактировании строки?), Он иногда возвращает сумасшедшие результаты:
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()
действует так же.
Что может быть общей причиной такого поведения? Примечание: он не действует таким образом на простых тестовых строках, таких какRegex.Match("-היי45--", "-(.{1,5})-")
(sample is displayed incorrectly!, please look to the page's source code)должно быть что-то с регулярным выражением, которое делает его жадным. Соответствующая строка содержит[ .... ]
но простое добавление их в тестовую строку не вызывает того же эффекта.