Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как указать символ с которого должен начинатся выбор слов, но не включая его, с включ (https://javascript.ru/forum/misc/49296-kak-ukazat-simvol-s-kotorogo-dolzhen-nachinatsya-vybor-slov-no-ne-vklyuchaya-ego-s-vklyuch.html)

riva 06.08.2014 13:27

Как указать символ с которого должен начинатся выбор слов, но не включая его, с включ
 
var str = 'abcde abcde';


Как составить выражение, по условию которого нужно выбрать cde перед которым обязательно находится ab?
Так-как в js нет "назад смотрящих", значит нужно осуществлять поиск с символов 'ab' и смотреть, что идет за ними, но не включая эти символы в результат.
Вариант ниже не подходит http://jsfiddle.net/LUK27/
/ab(cde)/g


Возможно я слишком требователен к js и мое задание осуществимо, если сначала выбрать, потом порезать, потом пропустить через регуляку, потом опять срезать, добавить и снова через регулярку... Но неужели это только так решается или я ещё чего-то не понимаю?

Octane 06.08.2014 14:04

Цитата:

Сообщение от riva
сначала выбрать, потом порезать, потом пропустить через регуляку, потом опять срезать, добавить и снова через регулярку... Но неужели это только так решается

так и решается
а что тебя смущает?

Pavel M. 12.08.2014 13:29

> Но неужели это только так решается

может быть удобнее через replace
там можно использовать функцию, которая вызывается при каждом нахождении http://javascript.ru/basic/regular-e...herez-funkciyu

пример http://jsfiddle.net/LUK27/2/

ksa 12.08.2014 13:50

Цитата:

Сообщение от riva
Но неужели это только так решается или я ещё чего-то не понимаю?

Как вариант...

var str = 'abcde abcde'; 
var re = /ab(cde)/g;
var arr=[];

while ((arr = re.exec(str)) != null) {
  alert(arr[1]);
};


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