Как я могу использовать ретроспективный анализ в регулярном выражении C #, чтобы пропустить совпадения повторяющихся шаблонов префиксов?

Как я могу использовать ретроспективный поиск в регулярном выражении C #, чтобы пропустить совпадения повторяющихся шаблонов префикса?

Пример - Я пытаюсь, чтобы выражение соответствовало всем символам b , следующим за любым числом символов a :

Regex expression = new Regex("(?<=a).*");

foreach (Match result in expression.Matches("aaabbbb"))
  MessageBox.Show(result.Value);

возвращает aabbbb , поиск назад соответствует только а . Как мне сделать так, чтобы он соответствовал всем a в начале?

Я пробовал

Regex expression = new Regex("(?<=a+).*");

и

Regex expression = new Regex("(?<=a)+.*");

, но безрезультатно ...

Я ожидаю bbbb .

6
задан luvieere 1 October 2010 в 14:14
поделиться