Шаблон игнорирования регулярных выраженийC#

Место общения программистов C#
Anonymous
Шаблон игнорирования регулярных выражений

Сообщение Anonymous »

У меня есть текст с аннотациями. скобки «(» и «)» или «[» и «]» используются для определения того, что является частью аннотации (это как в обычном тексте, как в этом предложении). я хочу выполнить регулярное выражение для поиска чего-либо во входных данных, но... оно должно игнорировать все аннотации.

проблемы:
  • они могут появиться в любом месте (я не знаю, где и сколько)
  • я не могу легко их удалить (выполняя регулярное выражение замены, чтобы уничтожить все появления), потому что мне нужно знать индексы и длину после выполнения моего регулярного выражения поиска в оригинале text
  • он должен быть максимально быстрым при ОГРОМНОМ входном тексте
аннотации не могут быть вложенными, что-то вроде «123 (Hello (World))» не появится. если скобки аннотации являются частью строки (в кавычках), они являются частью текста и, следовательно, не являются аннотацией.

вот пример:

Input Text: "Hello, my (real) name is John. I worked in England (near London) on a real german restaurant.".

Search Regex: "my.*?real"

Output: "my (real) name is John. I worked in England (near London) on a real" (index=7, length=67)
< /code>

Какой лучший способ решить это? < /p>

Подробнее здесь: https://stackoverflow.com/questions/151 ... re-pattern

Вернуться в «C#»