Regex 如何使用正则表达式获取单个单词?

Regex 如何使用正则表达式获取单个单词?,regex,replace,Regex,Replace,对于我的工作培训,他们正在用正则表达式培训我,但是培训我的人很忙,我不想打扰他寻求帮助。我只需要从下面这句话中得到一句话:“疯狂的弗雷德里克买了许多非常精致的蛋白石珠宝。” 我使用以下格式: "Crazy Fredrick bought many very exquisite opal jewels.".replace(//gi,"") 为了变得疯狂,我使用了以下方法: "Crazy Fredrick bought many very exquisite opal jewels.".repla

对于我的工作培训,他们正在用正则表达式培训我,但是培训我的人很忙,我不想打扰他寻求帮助。我只需要从下面这句话中得到一句话:“疯狂的弗雷德里克买了许多非常精致的蛋白石珠宝。” 我使用以下格式:

"Crazy Fredrick bought many very exquisite opal jewels.".replace(//gi,"")
为了变得疯狂,我使用了以下方法:

"Crazy Fredrick bought many very exquisite opal jewels.".replace(/(\s\w+)+\.$/gi,"")

但是我如何查询其余的单词呢?

不需要替换。您只需调用split:

var words = "Crazy Fredrick bought many very exquisite opal jewels".split(/ +/g);
//=> OUTPUT: ["Crazy", "Fredrick", "bought", "many", "very", "exquisite", "opal", "jewels"]

如果必须使用正则表达式,可以执行以下操作:

正则表达式:

[^\s]+\b
工作正则表达式示例:

Javascript:

var str = 'Crazy Fredrick bought many very exquisite opal jewels.';
var RE = /[^\s]+\b/gi;
var match = str.match(RE);

console.log(match);
输出:

["Crazy", "Fredrick", "bought", "many", "very", "exquisite", "opal", "jewels"]
jsfiddle:


match
[^\s]+\b
怎么样?