Удалить все между определенной строкой

#javascript #regex

#javascript #регулярное выражение

Вопрос:

Я прочитал файл с помощью javascript, и этот файл содержит много инструкций begin и end, как показано ниже, и моя цель — удалить все, что существует между этими инструкциями begin и end?

 //<BEGIN>

sample string

//</END>

another string

//<BEGIN>

another string

//</END>
 

Комментарии:

1. Вы хотите удалить содержимое в теге <replace> ??

2. С помощью манипуляций с DOM, а не регулярных выражений. Итак, где вы застряли?

3. Извините, это недостаточно ясно, и поэтому я снова отредактировал.

Ответ №1:

Для хранения текста внутри тегов:

 var res = string.match(/<BEGIN>([sS]*?)</END>/g);
 

Чтобы удалить текст внутри тегов:

 var res = string.replace(/([sS]*?)<BEGIN>[sS]*?</END>/g, '$1');
 

Чтобы удалить текст за пределами тегов:

 var res = string.replace(/<BEGIN>[sS]*?</END>/g, '');
 

Комментарии:

1. спасибо, если я хочу сделать наоборот, значит удерживать все между началом и концом и удалять другие, что мне делать?

Ответ №2:

Предполагая, что replace — это класс, вы можете попробовать этот Jquery:

 <script>        
 $( " " ).replaceAll( ".replace" );
 </script>