admin管理员组

文章数量:1241084

Try though I may, can't figure out how to use regex in javascript to get an array of words (assuming all words are capitalized). For example:

Given this: NowIsAGoodTime

How can you use regex to get: ['Now','Is','A','Good','Time']

Thanks Very Much!!

Try though I may, can't figure out how to use regex in javascript to get an array of words (assuming all words are capitalized). For example:

Given this: NowIsAGoodTime

How can you use regex to get: ['Now','Is','A','Good','Time']

Thanks Very Much!!

Share Improve this question asked Nov 11, 2011 at 13:27 user815460user815460 1,1433 gold badges11 silver badges17 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 12
'NowIsAGoodTime'.match(/[A-Z][a-z]*/g)

[A-Z], [a-z] and [0-9] are character sets defined as ranges. They could be [b-xï], for instance (from "b" to "x" plus "ï").

String.prototype.match always returns an array or null if no match at all.

Finally, the g regexp flag stands for "global match". It means, it will try to match the same pattern on subsequent string parts. By default (with no g flag), it will be satisfied with the first match.

With a globally matching regexp, match returns an array of matching substrings.

With single match regexps, it would return the substring matched to the whole pattern, followed by the pattern groups matches. E. g.:

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

See more on Regexp.

This regex will break it up in desired parts:

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

本文标签: Use Regex in Javascript to return an array of wordsStack Overflow