Что такое regex “независимая группа фиксации”?

Вы можете использовать метод Regex.Split , что-то вроде этого:

Regex regex = new Regex(@"\bis\b");
string[] substrings = regex.Split("This is a sentence");

foreach (string match in substrings)
{
   Console.WriteLine("'{0}'", match);
}

Изменить: это удовлетворяет приведенному вами примеру. Обратите внимание, что обычный String.Split также будет разбит на « is » в конце слова «This», поэтому я использовал Regex и включал границы слов вокруг « - ». Обратите внимание, однако, что если вы просто написали этот пример по ошибке, то, вероятно, будет достаточно String.Split .

55
задан erickson 29 September 2008 в 15:53
поделиться

2 ответа

Это означает, что группировка атомарная , и это выбрасывает информацию об отслеживании в обратном порядке для подобранной группы. Так, это выражение является притяжательным; это не отступит, даже если выполнение так будет единственным путем к regex в целом для следования. Это "независимо" в том смысле, что это не сотрудничает, через отслеживание в обратном порядке, с другими элементами regex для обеспечения соответствия.

44
ответ дан erickson 7 November 2019 в 17:30
поделиться

Если Вы имеете foo(?>(co)*)co, который никогда не будет соответствовать. Я уверен, что существуют практические примеры того, когда это было бы полезно, попробуйте книгу O'Reilly.

6
ответ дан Vlad 7 November 2019 в 17:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: