https://github.com/cho45/named-regexp.js
Append named-capture feature to JavaScript RegExp
https://github.com/cho45/named-regexp.js
capture javascript regexp
Last synced: 11 months ago
JSON representation
Append named-capture feature to JavaScript RegExp
- Host: GitHub
- URL: https://github.com/cho45/named-regexp.js
- Owner: cho45
- Created: 2012-08-14T12:33:38.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2016-06-10T10:46:59.000Z (about 10 years ago)
- Last Synced: 2025-03-25T22:22:26.248Z (over 1 year ago)
- Topics: capture, javascript, regexp
- Language: JavaScript
- Homepage:
- Size: 184 KB
- Stars: 29
- Watchers: 5
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
named-regexp.js
=================
https://github.com/cho45/named-regexp.js
Append named-capture feature to JavaScript RegExp
SYNOPSYS
========
var named = require('named-regexp').named;
var re = named(/(:[a-z]+) (:[a-z]+) (:[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 `(: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()`.
LICENSE
=======
MIT: http://cho45.github.com/mit-license