Задать вопрос
JimmiJanger
@JimmiJanger
Любопытный активист, под маской ленивого нуба.

Как перенести на новую строку, условие регулярного выражения?

У меня имеется функция, с регулярным выражением.
function myFind(text) {
  var ARR = text.match(/\[u\]([\s\S]*)\[\/u\]/g);
  if(!ARR){ ARR = []; }
  return ARR;
}

К примеру, если у меня будет супер длинное условие:
var ARR= text.match(/\[u\]([\s\S]*)\[u\]([\s\S]*)\[\/u\]\[\/u\]\[u\]([\s\S]*)\[u\]([\s\S]*)\[u\]([\s\S]*)\[u\]([\s\S]*)\[u\]([\s\S]*)\[\/u\]/g);

Каким образом, мне следует разделить эту длинную строку?
===========[ Идея номер раз ]===========
Я думал, надо писать примерно так:
var ARR= text.match(/\[u\]([\s\S]*)/+
  /\[\/u\]/g);

Итог --> Но так не работает ...
===========[ Идея номер два ]===========
Потом, я ещё подумал вот о таком варианте:
var rw = '\[u\]([\s\S]*)'+
                '\[\/u\]';
  var f = new RegExp(rw, 'g');
  var ARR= text.match(f);
  if(!ARR){ ARR = []; }
  return ARR;

Итог --> И так не сработало ....
~~~~~
Вывод --> Я не знаю, как решить данную проблему :(
... Помогите ...
  • Вопрос задан
  • 465 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
yellow79
@yellow79
Senior Software Engineer
А зачем вы вообще хотите переносить на новую строку? какой в этом смысл? чтоб код красивее смотрелся?

И так не сработало

Когда создаёте регэксп через конструктор то не надо использовать экранирующие слеши
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы