Показать сообщение отдельно
  #2 (permalink)  
Старый 31.05.2012, 13:27
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Поскольку регулярные выражения в js не поддерживают ретроспективных проверок, остается извращаться. Например, так
var str = "aaaaaaa(-12-)aaa(02)aaa(3)aa(4aaa8)aaa(4)a232a7a8a";

alert(
	/-(\d+)(?=-)/.exec( str )[ 1 ]
);


Сообщение от GuardCat
2. Почему третий вариант r не работает?
потому, что опережающая и ретроспективная проверки находят позиции, а не текст. Пример для понимания:
alert( "[]".replace( /(?=])/, '1234' ) );
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 31.05.2012 в 13:39.
Ответить с цитированием