Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.08.2014, 13:27
Кандидат Javascript-наук
Отправить личное сообщение для riva Посмотреть профиль Найти все сообщения от riva
 
Регистрация: 24.06.2013
Сообщений: 115

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


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


Возможно я слишком требователен к js и мое задание осуществимо, если сначала выбрать, потом порезать, потом пропустить через регуляку, потом опять срезать, добавить и снова через регулярку... Но неужели это только так решается или я ещё чего-то не понимаю?
Ответить с цитированием
  #2 (permalink)  
Старый 06.08.2014, 14:04
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Сообщение от riva
сначала выбрать, потом порезать, потом пропустить через регуляку, потом опять срезать, добавить и снова через регулярку... Но неужели это только так решается
так и решается
а что тебя смущает?
Ответить с цитированием
  #3 (permalink)  
Старый 12.08.2014, 13:29
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

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

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

пример http://jsfiddle.net/LUK27/2/
Ответить с цитированием
  #4 (permalink)  
Старый 12.08.2014, 13:50
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

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

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

while ((arr = re.exec(str)) != null) {
  alert(arr[1]);
};
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25