简单来说,我有正则表达式:/[^0-9]+/gi
它不是作为字符串存储的,而是作为 JavaScript 正则表达式存储的。换句话说,没有引号。我的意图是返回一个字符类数组,这些字符类由非数字的字符组成。
我希望在给定代码时返回此数组:/[^0-9]+/gi.exec("rgb(123, 124, 125);");
但是我只收到一个 length: 1
的数组,索引 [0]
为 "rgb("
。为什么我没有收到由其他非数字组成的数组,如 );
或 ,
?
最佳答案
Why am I not getting an array consisting of the other non-digits
因为你拿错了。
"rgb(123, 124, 125);".match(/[^0-9]+/gi);
.exec()
总是返回下一个匹配项,直到没有更多的匹配项 - 它被设计为循环运行。
关于javascript - 正则表达式 - 重复否定字符类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31810410/