diff --git a/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md b/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md new file mode 100644 index 0000000000..736291662c --- /dev/null +++ b/docs/plugin-proposal-duplicated-named-capturing-groups-regex.md @@ -0,0 +1,74 @@ +--- +id: babel-plugin-proposal-duplicated-named-capturing-groups-regex +title: @babel/plugin-proposal-duplicated-named-capturing-groups-regex +sidebar_label: duplicated-named-capturing-groups-regex +--- + +## Examples + +**In** + +```javascript +var re = /(?\d{4})-(?\d{2})|(?\d{2})-(?\d{4})/; + +console.log(re.exec("02-1999").groups.year); +``` + +**Out** + +```javascript +var re = _wrapRegExp(/(\d{4})-(\d{2})|(\d{2})-(\d{4})/, { + year: [1, 4], + month: [2, 3], +}); + +console.log(re.exec("02-1999").groups.year); +``` + +## Installation + +```sh +npm install --save-dev @babel/plugin-proposal-duplicated-named-capturing-groups-regex +``` + +## Usage + +### With a configuration file (Recommended) + +```json +{ + "plugins": ["@babel/plugin-proposal-duplicated-named-capturing-groups-regex"] +} +``` + +### Via CLI + +```sh +babel --plugins @babel/plugin-proposal-duplicated-named-capturing-groups-regex script.js +``` + +### Via Node API + +```javascript +require("@babel/core").transformSync("code", { + plugins: ["@babel/plugin-proposal-duplicated-named-capturing-groups-regex"], +}); +``` + +## Options + +### `runtime` + +`boolean`, defaults to `true` + +When this option is disabled, Babel doesn't wrap RegExps with the `_wrapRegExp` helper. +The output only supports internal group references, and not runtime properties: + +```js +var stringRe = /(?:(?")|(?')).*?\k/; + +stringRe.test("'foo'"); // "true", works +stringRe.exec("'foo'").groups.quote; // undefined +``` + +> You can read more about configuring plugin options [here](https://babeljs.io/docs/en/plugins#plugin-options) diff --git a/docs/plugins-list.md b/docs/plugins-list.md index 9216e75e37..5cf8843654 100644 --- a/docs/plugins-list.md +++ b/docs/plugins-list.md @@ -10,6 +10,7 @@ sidebar_label: Plugins List - [decorators](plugin-proposal-decorators.md) - [do-expressions](plugin-proposal-do-expressions.md) +- [duplicated-named-capturing-groups-regex](plugin-proposal-duplicated-named-capturing-groups-regex.md) - [export-default-from](plugin-proposal-export-default-from.md) - [export-namespace-from](plugin-proposal-export-namespace-from.md) - [function-bind](plugin-proposal-function-bind.md)