Способ реализации позитивного просмотра в перед в регулярном выражении
Собственно вот вопрос,
есть строка такого типа: Код:
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, время: 00:44. |