То, что я хотел бы сделать, это удалить все функции, которые имеют конкретное слово, например, если слово «яблоко»:как соответствовать функциям блока кода с регулярным выражением
void eatapple()
{
// blah
// blah
}
Я хотел бы, чтобы удалить весь код от 'void
' до '}
'. То, что я попытался это:
^void.*apple(.|\n)*}
Но потребовалось очень много времени, я думаю, что что-то здесь не так.
Я использую Visual Studio. Спасибо.
@Welbog, я не думаю, что подсчет брекетов - это простая программа для записи. Если он должен быть безошибочным, программа должна быть способна понимать источник, как и компилятор. – Codism
@ Кодизм: подсчет брекетов прост. Вам просто нужно следить за gotchas как фигурные скобки в комментариях и строковых литералах. Вы правы, что для того, чтобы быть безошибочным, вам нужно написать для него контекстно-свободный парсер, но это уровень сложности этой задачи. Счетчик фигурных скобок должен быть в порядке, если нет никаких штрихов. – Welbog