var str = "some text{index:1}{id:2}{value:3}";
var index = str.match(/{index:(\d+)}/);
index = index && index[1]*1;
JavaScript не поддерживает утверждения look-behind. Используйте этот шаблон вместо:
/{index:(\d+)}/g
Затем извлеките значение, зафиксированное в группе.
\d+
; целое число фиксируется в группе # 1.
– Alan Moore
17 November 2010 в 01:37
"some text{index:1}{id:2}{value:3}".match(/{index:(\d+)}/g)[0]
возвращает {index:1}
И "some text{index:1}{id:2}{value:3}".match(/{index:(\d+)}/g)[1]
возвращает «undefined».
– Maksim Vi.
17 November 2010 в 01:56
(?<= )
- это положительный lookbehind. JavaScript-код RegEx не поддерживает lookbehind (но он поддерживает lookaheads).
/g
действительно помогает =) – Maksim Vi. 17 November 2010 в 03:41