Lookbehinds не поддерживают, как уже упоминалось.
Я не знаю, какую функцию вы используете для своего регулярного выражения, но если вы используете match()
, просто добавьте группу захвата:
href="(.+?)(?=#)
Что дает вам, например ::
var str = '<a href="foo#bar"></a>';
var matches = str.match(/href="(.+?)(?=#)/);
// matches[0] = href="foo
// matches[1] = foo // <-- this is what you want
Дополнительная информация:
[^]
означает, что соответствует всем символам, которые не в этом классе символов . Но в классе нет персонажей. Таким образом, он соответствует любому символу , что и делает точка .
.