Это кусок кода Google Apps Script:Регулярное выражение удаление только первый экземпляр
var re = /(<.*?>)+/;
var strip = str.replace(re, "");
Logger.log(strip);
Почему раздеть только первый экземпляр тега?
Это кусок кода Google Apps Script:Регулярное выражение удаление только первый экземпляр
var re = /(<.*?>)+/;
var strip = str.replace(re, "");
Logger.log(strip);
Почему раздеть только первый экземпляр тега?
var re = /(<.*?>)/g
Конечный g
- это флаг, который необходимо установить для замены всех соответствующих экземпляров. В зависимости от содержания str
вы передаете другой флаг вы можете попробовать добавлять в m
, который означает, что шаблон должен применяться к нескольким линиям т.е.
var re = /(<.*?>)/mg
Спасибо! Он работает с '/ g'. Где я могу найти документацию об этом? Поскольку те тестеры regex, которые я использовал, работают так, как мне нужно, без '/ g'. –
Зависит от того, насколько плохо/хорошо реализованы эти переводчики. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Parameters – Jonathon
Недавно я был очень доволен RegEx101. [Вот ваш RexEx] (https://regex101.com/r/xE2kA7/1) и [здесь версия 2] (https://regex101.com/r/xE2kA7/2) с предложением Джонатона. – Mogsdad
Это часто повторяется вопрос о переполнении стека, что во всех случаях тривиально найти. Зная, что сценарий приложений Google - это JavaScript, поможет найти все эти предыдущие решения. Один из них: – Jonathon
Хотя я признаю, что решение моего ответа можно найти в этом вопросе: [Как заменить несколько строк методом .replace()] (http://stackoverflow.com/questions/14013223/how -to-replace-multiple-strings-with-the-replace-method), однако я считаю, что мой вопрос больше ориентирован на Google Script. –
Да и нет. Скрипт Google Apps - это, во-первых, среда выполнения JavaScript. Специфическая часть Google находится в API, которые ссылаются на службы Google. Regex испещрен в функциональности JavaScript. Скрипт приложений ничего не приносит этой стороне. – Jonathon