Способ реализации позитивного просмотра в перед в регулярном выражении
Собственно вот вопрос,
есть строка такого типа: Код:
row_grid js-modul-autoScroll-x js-modul-autoScroll-yпытался так: var arr = this.match(/js-modul-(\S+)/g); достает строку целиком, т.е. вместе с "js-modul-" как быть, что делать - не знаю, а повторный перебор найденного не очень хочется костылить. |
можно так
var text = 'row_grid js-modul-autoScroll-x js-modul-autoScroll-y';
var re = /js-modul-(\S+)/g;
var arr = [];
var str;
while( str = re.exec( text ) ) {
arr.push( str[ 1 ] );
}
alert( arr.join( '\n' ) );
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
И надеялся, что в js есть какое нибудь подобие положительного просмотра вперед с выводом результата в виде массива через match |
Цитата:
|
Цитата:
получилось длинно, т.к. revers есть только у массивов поэтому на преобразования строка - массив много действий это не для практического использования :-)
var text = 'row_grid js-modul-autoScroll-x js-modul-autoScroll-y',
arr = text.split('').reverse().join('')
.match(/\S+(?=-ludom-sj)/g) // массив того что надо, используя просмотр вперед
.join(' ').split('').reverse().join('').split(' ');
alert(arr);
|
Цитата:
Цитата:
|
Я не оправдываю отсутствие просмотра назад, я констатирую факт. В том же PHP просмотр назад хоть и есть, но недоделанный.
Ты не ответил на вопрос: регулярки говёные только из-за отсутствия просмотра назад? |
| Часовой пояс GMT +3, время: 15:17. |