JavaScript Regex只创建整个单词数组。

时间:2016-05-27 18:48:24

标签: javascript regex

我试图将整个单词从没有空格或特殊字符的字符串中分离出来。

所以来自

'(votes + downvotes) / views'

我想创建一个类似下面的数组

['votes', 'downvotes, 'views']

尝试了以下方法,但抓住了parens和一些空白。 https://regex101.com/r/yX9iW8/1

3 个答案:

答案 0 :(得分:2)

您可以将/\w+/gString#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,}
祝你好运!