Javascript вообще не имеет оглядки назад. Стивену Левитану написано несколько слов, чтобы имитировать его , что может быть полезно.
Я не совсем понимаю ваш пример, потому что кажется, что это будет отвечать всем требованиям:
/^\s+(.+)lookbehind$/
... который соответствует одному или нескольким пробельным символам, за которыми следует один или несколько символов (в группе захвата), за которыми следует слово «lookbehind». Используется так:
var str = " variable length lookbehind";
var match = /^\s+(.+)lookbehind$/.exec(str);
возвращает этот массив:
match[0]: | variable length lookbehind|
match[1]: |variable length|
В Javascript первая запись в массиве - это полная совпавшая строка, а последующие записи - группы захвата.
Но вы, очевидно, хорошо разбираетесь в регулярных выражениях, поэтому я не уверен, что это то, что вы ищете ...
Что следует знать в этой общей области, так это то, что ряд реализаций движков RegExp в Javascript не вполне обрабатывает \s
правильно (они пропускают сопоставление некоторых пробельных символов выше диапазона ASCII ); см. тест S_REGEXP_WHITESPACE_CHARACTER_CLASS_BUGGY здесь .