Как можно оптимизировать строку для большего количества слов?

Рейтинг: 0Ответов: 1Опубликовано: 10.03.2015

Как можно оптимизировать строку для большего количества слов? Например <html>, </html> и т.д.

var matches = Regex.Matches(richTextBox1.Text, @"\bhtml\b");
            foreach (var match in matches.Cast<Match>())
            {
                richTextBox1.Select(match.Index, match.Length);
                richTextBox1.SelectionColor = Color.Blue;
            }

Ответы

▲ 1Принят

Если подсветить все одни цветом, то нам необходимо регулярное выражение поиска тегов в тексте, оно позволит нам пройтись по всем тегам и раскрасить их (в один цвет). Если разными цветами, тогда придется использовать несколько регулярных выражений для того, чтобы определить, в какой цвет закрашивать тот или иной элемент (или как-то еще извратиться).

Закрашиваем первую часть тега:

Общая форма:

    \<{тут название тега}\>

Пример:

    \<html\> или \<head\>

Смысл понятен, в общем.

Закрашиваем вторую часть тега:

Общая форма:

    \<\/{тут название тега}\>

Пример:

    \<\/html\> или \<\/head\>

Но можно воспользоваться готовым компонентом (FastColoredTextBox) для решения этой и многих других задач, связанных с подсветкой синтаксиса. Ну, как вариант посмотреть, как он подошел к реализации данной задачи, и сделать что-то своё.