Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Regexp и повторение кусков текста (https://javascript.ru/forum/misc/40532-regexp-i-povtorenie-kuskov-teksta.html)

singaporian 09.08.2013 12:49

Regexp и повторение кусков текста
 
Допустим у меня есть такой текст:

abcsdldkfvxyzsdlfabcvkdfxyzasdfvabcsdvxyzdf

Мне надо выкорчевать три куска от abc до первого xyz, потом опять от второго abc до третьего xyz и тоже с третьим.
Однако такой регэксп из-за сочетания \s\S пролетает все xyz, пока не встретит последний:

Код:

regexpression = /abc[\s\S]*xyz/g;
То есть он мне отлавливает:
abcsdldkfvxyzsdlfabcvkdfxyzasdfvabcsdvxyz


Как мне сказать match'у, чтобы останавливался на первом встречном xyz, а потом переходил ко второму начиная только от следующего abc?

рони 09.08.2013 13:10

singaporian,
:write:
var str = 'abcsdldkfvxyzsdlfabcvkdfxyzasdfvabcsdvxyzdf'
str = str.replace(/(abc)[\s\S]+?(xyz)/g, '$1$2');
alert(str);

singaporian 09.08.2013 15:07

Получилось! Спасибо!


Часовой пояс GMT +3, время: 11:24.