Шаблон игнорирования регулярных выражений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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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