Учитывая следующий текст в Google Doc:
@1Bryan Smith
1234 Alameda Ln
Palm Springs, CO
92264@
@2Jerry Macnamara
4568 Montagonal Ave
Aspertine, MD
29382@
Я хочу иметь возможность программно удалить блок текста для Брайана Смита или Джерри Макнамара.Для этого я пытаюсь использовать функцию replaceText () элемента тела Apps Script.Проблема в том, что регулярное выражение не работает должным образом.
var i = 2;
var regex = new RegExp('^@' + i + '([\\s\\S]*)@$', 'm');
Приведенное выше регулярное выражение работает , но body.replaceText () не принимает RegExp в качестве аргумента, только строкипредставляя выражение.Я попытался реплицировать вышеупомянутое регулярное выражение в строковом формате следующим образом:
body.replaceText('(m)^@' + i + '([\\s\\S]*)@$', '');
Не удается найти совпадение.Я полагаю, что я могу неправильно установить флаг m.
Необходимо использовать функцию replaceText (), я не хочу редактировать текст документа напрямую в виде строки, так как это испортит форматирование и изображения вдокумент.
Документация: https://developers.google.com/apps-script/reference/document/body#replacetextsearchpattern-replacement
Пример скрипта для тестирования (Инструменты -> Редактор скриптов): https://docs.google.com/spreadsheets/d/136_o9acI_rtHf0njRapt1i-r0F_ZWPAXtKYVkUmpBlc/edit#gid=0