From 962fa79b964dca0168451071bcf774f042aa2f6b Mon Sep 17 00:00:00 2001 From: Ilya Kantor Date: Sun, 14 Aug 2022 12:31:05 +0300 Subject: [PATCH] closes #3122 --- .../04-parse-expression/solution.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/9-regular-expressions/11-regexp-groups/04-parse-expression/solution.md b/9-regular-expressions/11-regexp-groups/04-parse-expression/solution.md index ac67519b..9307d25b 100644 --- a/9-regular-expressions/11-regexp-groups/04-parse-expression/solution.md +++ b/9-regular-expressions/11-regexp-groups/04-parse-expression/solution.md @@ -54,3 +54,17 @@ function parse(expr) { alert( parse("-1.23 * 3.45") ); // -1.23, *, 3.45 ``` + +As an alternative to using the non-capturing `?:`, we could name the groups, like this: + +```js run +function parse(expr) { + let regexp = /(?-?\d+(?:\.\d+)?)\s*(?[-+*\/])\s*(?-?\d+(?:\.\d+)?)/; + + let result = expr.match(regexp); + + return [result.groups.a, result.groups.operator, result.groups.b]; +} + +alert( parse("-1.23 * 3.45") ); // -1.23, *, 3.45; +``` \ No newline at end of file