javascript - Regex capturing : get the whole match in a capturing group -
i can't capture work :
my aim capture in string length of first capture group :
var regex = /(_)?;([\w]+);([\w]+);/; var string = "____;foo;bar;"; var matches = regex.exec(string); console.log(matches); // outputs ["_;foo;bar;", "_", "foo", "bar"] as can see, matches[1] contains capturing group undescores, gives me matched character, not underscores. expect result :
["_;foo;bar;", "_____", "foo", "bar"] is there way achieve regex ? prefer avoid splitting string ; ...
you use pattern this:
/(_*);(\w+);(\w+);/ which give you:
["_____;foo;bar;", "_____", "foo", "bar"] this pattern match following sequence:
- zero or more underscores, captured in group 1
- a semicolon
- one or more word characters, captured in group 2
- a semicolon
- one or more word characters, captured in group 3
- a semicolon
Comments
Post a Comment