我正在尝试选择所有非空白字符。但正则表达式\S*
或[^\s]*
因任何字符串的“JavaScript堆内存不足”错误而失败。
我尝试使用node并直接在浏览器控制台上。然而,当我尝试使用在线正则表达式测试程序时,它运行良好。
var validAttrStrRegxp = new RegExp("\\S*", "g");
getAllMatches("any string",validAttrStrRegxp);
var getAllMatches = function(string, regex) {
var matches = [];
var match = regex.exec(string);
while (match) {
var allmatches = [];
for (var index = 0; index < match.length; index++) {
allmatches.push(match[index]);
}
matches.push(allmatches);
match = regex.exec(string);
}
return matches;
};
答案 0 :(得分:1)
我明白了。由于*
表示0或许多。我指定的RE也意味着匹配空模式。因此问题不是由\\S+
造成的。