我有以下正则表达式:
/(?<={index:)\d+(?=})/g
Run Code Online (Sandbox Code Playgroud)
我试图在这样的字符串中找到索引整数:
some text{index:1}{id:2}{value:3}
Run Code Online (Sandbox Code Playgroud)
这个表达式适用于PHP,但它在javascript中不起作用,我收到以下错误:
未捕获的SyntaxError:无效的正则表达式:/(?<= {index:)\ d +(?=})/:无效的组
我需要修理什么?
谢谢.
mik*_*ike 51
(?<= )是一个积极的看法.JavaScript的RegEx风格不支持lookbehinds(但它确实支持lookaheads).
cdh*_*wie 10
JavaScript不支持look-behind断言.改为使用此模式:
/{index:(\d+)}/g
Run Code Online (Sandbox Code Playgroud)
然后提取组中捕获的值.
var str = "some text{index:1}{id:2}{value:3}";
var index = str.match(/{index:(\d+)}/);
index = index && index[1]*1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
36397 次 |
| 最近记录: |