# named-regexp

> Append named-capture feature to JavaScript RegExp

Latest version **0.1.1** (published 2012-08-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install named-regexp
pnpm add named-regexp
yarn add named-regexp
bun add named-regexp
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.1 |
| Published | 2012-08-14 |
| First published | 2012-08-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 28 |
| Author | cho45 |
| Maintainers | cho45 |
| Keywords | RegExp, capture, named-capture |

## Links

- npm: https://www.npmjs.com/package/named-regexp
- Repository: https://github.com/cho45/named-regexp.js
- npm.io page: https://npm.io/package/named-regexp

## Recent versions

- 0.1.1 (latest) — 2012-08-14

## README

named-regexp.js
=================

Append named-capture feature to JavaScript RegExp

SYNOPSYS
========

    var named = require('named-regexp').named;

    var re = named(/(:<foo>[a-z]+) (:<foo>[a-z]+) (:<bar>[a-z]+)/ig);
    var matched = re.exec('aaa bbb ccc');
    console.log(matched.captures); //=> { foo: [ 'aaa', 'bbb' ], bar: [ 'ccc' ] }
    console.log(matched.capture('foo')); //=> 'bbb' // last matched


    var replaced = re.replace('aaa bbb ccc ddd eee fff ggg', function (matched) {
        return matched.capture('bar');
    });

    console.log(replaced); //=> 'ccc fff ggg');


DESCRIPTION
===========

named-regexp.js provides `named` function which converts regexp containing named-captures to normal regexp which has some functions.

named-capture is defined by `(:<name>regexp)`. You can't use it with normal captures. If you want to use grouping, use `(?:regexp)` instead.

## Function named()

Takes RegExp object which contains named-captures.

Returns new RegExp object with following methods:

### Method re.exec(string)

Performs a regexp match of string and returns an Array object containing the results of the match, or null if string did not match.

A returning Array object is same as value from normal RegExp.prototype.exec but it has `captures` property and `capture` method.

#### matched.captures

An object contains captured values which has capture name as key and array of captured string as its value.

#### matched.capture('name')

Returns last matched string of the name.

### Method re.replace(string, replace)

Same as `String.prototype.replace` but when `replace` is function, this method passes an Array object like value returning from `exec()`.

---
_Source: https://npm.io/package/named-regexp · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
