JavaScript regular expression exception (Invalid group)

I have the following regular expression:


I am trying to find index integer in strings like this one:

some text{index:1}{id:2}{value:3}

That expression works fine with php, but it doesn’t work in javascript, I get the following error:

Uncaught SyntaxError: Invalid regular
expression: /(?<={index:)\d+(?=})/:
Invalid group

What do I need to fix?


(?<= ) is a positive lookbehind. JavaScript’s flavor of RegEx does not support lookbehinds (but it does support lookaheads).

JavaScript does not support look-behind assertions. Use this pattern instead:


Then extract the value captured in the group.

var str = "some text{index:1}{id:2}{value:3}";
var index = str.match(/{index:(\d+)}/);
index = index && index[1]*1;

The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 .
Read More:   Easy way to store JSON under Node.js

Similar Posts