我试图将整个单词从没有空格或特殊字符的字符串中分离出来。
所以来自
'(votes + downvotes) / views'
我想创建一个类似下面的数组
['votes', 'downvotes, 'views']
尝试了以下方法,但抓住了parens和一些空白。 https://regex101.com/r/yX9iW8/1
答案 0 :(得分:2)
您可以将/\w+/g
与String#match
var array = '(votes + downvotes) / views'.match(/\w+/g);
console.log(array);

答案 1 :(得分:1)
您可以使用\W+
拆分所有非单词字符
'(votes + downvotes) / views'.split(/\W+/g).filter(x => x !== '');
// ["votes", "downvotes", "views"]
或\w+
匹配所有单词字符
'(votes + downvotes) / views'.match(/\w+/g);
// ["votes", "downvotes", "views"]
答案 2 :(得分:0)
这很简单......
var matches = '(votes + downvotes) / views'.match(/[a-z]+/ig);
您必须为您的项目决定哪些字符构成单词,以及单词的最小长度。它可以是带有数字和短划线的字符,最小长度为3个字符......
[a-z0-9-]{3,}
祝你好运!