在Javascript中使用正则表达式返回单词数组

在Javascript中使用正则表达式返回单词数组,javascript,regex,Javascript,Regex,尽管我可能会尝试,但我不知道如何在javascript中使用正则表达式来获取单词数组(假设所有单词都大写)。例如: 鉴于此:现在是时候了 如何使用regex获取:['Now'、'Is'、'A'、'Good'、'Time'] 非常感谢 'NowIsAGoodTime'.match(/[A-Z][a-z]*/g) [A-Z]、[A-Z]和[0-9]是定义为范围的字符集。例如,它们可以是[b-xï](从“b”到“x”再加上“ï”) 如果根本不匹配,则始终返回数组或null 最后,gregexp标志代

尽管我可能会尝试,但我不知道如何在javascript中使用正则表达式来获取单词数组(假设所有单词都大写)。例如:

鉴于此:现在是时候了

如何使用regex获取:['Now'、'Is'、'A'、'Good'、'Time']

非常感谢

'NowIsAGoodTime'.match(/[A-Z][a-z]*/g)
[A-Z]
[A-Z]
[0-9]
是定义为范围的字符集。例如,它们可以是
[b-xï]
(从“b”到“x”再加上“ï”)

如果根本不匹配,则始终返回数组或
null

最后,
g
regexp标志代表“全局匹配”。这意味着,它将尝试在后续字符串部分上匹配相同的模式。默认情况下(没有
g
标志),它将对第一次匹配感到满意

对于全局匹配的regexp,
match
返回匹配子字符串的数组

对于单匹配regexp,它将返回与整个模式匹配的子字符串,然后是模式组匹配。例如:

'Hello'.match(/el(lo)/) // [ 'ello', 'lo' ]

Regexp

上,此正则表达式将其分解为所需的部分:

([A-Z][a-z]*)

完美的这很有效!!我想问一下,如果可能的话,我如何在结果中加入4位数字,比如单词。例如,2011年Nowisagoodtime->['2011'、'Now'、'Is'、'A'、'Good'、'Time']。我可以很容易地做到这一点没有正则表达式(但当然正则表达式更优雅:-))再次感谢对原来问题的解决;我理解它,它工作得很好。顺便说一句,对于我来说,可选的4位数字(如果存在)将始终位于字符串的开头。欢迎光临,也感谢@Marcus
/([0-9]{4}|[A-Z][A-Z]*)/g
应包含4位数字。再次感谢您的帮助。哇!这太棒了。让我试着解释一下它对我自己和其他可能需要解释的人是如何起作用的。如果我错了,请纠正我:可以选择匹配以A-Z开头的4个数字或单词,后跟任意数量的A-Z;*仅适用于[a-z]。将整个表达式封装在()中是导致返回数组的原因,最后的g使其工作,但我不确定为什么.paren实际上是多余的!我已经更新了答案。谢谢