【发布时间】:2015-10-16 14:29:55
【问题描述】:
我想知道如何从字符串中提取单词(子字符串),如果所述字符串在两个特定字符之间。就我而言,我正在寻找起始字符为空格,最后一个字符为逗号,如下所示:
var str = "Hit that thing man! and a one, two, three, four, five, six, seven or eight";
结果:
var result = ["one", "two", "three", "four", "five", "six", "seven", "eight"];
我想知道是否可以使用正则表达式,或者好的旧 javascript 将是直接的解决方案。
到目前为止,我已经尝试了以下方法:
var result = str.split(/[,\s]+/);
但无济于事,因为它错误地执行了以下行为:
- 抓取
one之前的整个字符串。 - 获取所需字母之前的空格。
红利回合:我可以通过添加到所需的正则表达式/javascript 解决方案来在结果中包含最后一个字母 eight 吗?
非常感谢任何帮助!
【问题讨论】:
-
正则表达式绝对可以。
-
您在文本中只使用拉丁字符吗?
-
Anjd 如何根据您对所需内容的定义,
eight是否以结果数组结尾? -
八不是字母!这是一个词!
-
好吧,我创建了一个适用于您的句子的正则表达式,并且与其他一些表达式不同,它不会在字符串结尾失败(例如,
"one, two, three"匹配所有三个)。
标签: javascript regex string