Я использовал элемент управления ICSharp TextEditor, и он использует файл XML для обработки различных разделов подсветки синтаксиса (строки, комментарии и т. Д.) С помощью механизма регулярных выражений C #.
Итак, я использовал это регулярное выражение для сопоставления символов аккордов (из этого вопроса):
\b[A-G](?:add|maj|j|m|\+|b|\#|sus|\d|°)*(?:\b|(?<=\#))
Проблема в том, что символ <является частью синтаксиса XML, поэтому я заменил его на & lt, сделав его: </p>
\b[A-G](?:add|maj|j|m|\+|b|\#|sus|\d|°)*(?:\b|(?<=\#))
Проблема в том, что после этого происходит сбой программы из-за недопустимого регулярного выражения. Я сузил его, и именно это и является причиной проблемы.
Так есть ли другой способ избежать <угловой скобки, при этом позволяя движку регулярных выражений использовать его. </p>