【发布时间】:2019-08-25 01:25:17
【问题描述】:
示例输入
var abc = "blah blah [abc] , [123] [ab12], [456] [cdef] 789 ghi000 "
预期输出
["123", "456"]
我正在尝试编写只匹配方括号内的数字并返回这些数字的数组(不包括 [])的正则表达式。
我尝试使用的正则表达式使用lookbehind,因此它在 Chrome 中有效,但在 firefox 中失败。后来发现firefox还不支持lookbehind(访问https://bugzilla.mozilla.org/show_bug.cgi?id=1225665)。
abc.match(/(?<=\[)(\d+)/g);
我在 Chrome 76 上得到了预期的输出:
["123", "456"]
但我在 Firefox 68 上遇到错误:
SyntaxError: invalid regexp group
如何编写适用于两者并生成预期结果的正则表达式。
【问题讨论】:
标签: javascript regex firefox lookbehind