Я пытаюсь разобрать файл wikitext, полученный через API Википедии, и проблема в том, что некоторые из его шаблонов (например, фрагменты, заключенные в {{и}}) не автоматически расширяются в wikitext, поэтому мне приходится вручную искать их в источник статьи и в конечном итоге заменить их. Вопрос в том, могу ли я использовать регулярное выражение в .NET для получения совпадений из текста?Как получить самые длинные совпадения для подстрок, заключенных в "{{" и "}}"?
Чтобы попытаться сделать себя более ясным, вот пример, чтобы проиллюстрировать, что я имею в виду:
Для строки
{{ abc {{...}} def {{.....}} gh }}
должен быть один матч, а именно вся строка, поэтому самый длинный возможный матч.
С другой стороны, для «осиротевших» брекеты, такие, как в этом примере:
{{ abc {{...}}
результат должен быть один матч: {{...}}
Может кто-нибудь предложить мне предложение ? Спасибо заранее.
You «Правильно, я попытался использовать стек, и в этом случае это более подходящий подход.Я не очень хорошо разбираюсь в регулярных выражениях, но я подозреваю, что регулярные выражения не всегда будут работать так, как ожидалось, если бы в строке были неспаренные фигурные скобки. –