0.2.31 • Published 10 years ago
atma-regex v0.2.31
Regex
JavaScript Regular Expression Library for NodeJS and Browsers.
Features
Named Groups
(?<name>expression),(?'name'expression)Group index positions within the input
Named Backreferences
\k<name>,\k'name'Named subexpressions
\g<name>Comment Groups
(?# my comment)Atomic Groups
(?>ab|c)_Temporarly disabled for better performance. The group is converted into JS none-captured group._Positive-/Negative Lookbehind
(?<=expression)(?<!expression)Anchors
\A,\Z,\z,\GPossessive Quantifiers
++*+Options
x:(?x) \\d #commenti:a(?i)b(?-i)c(?i:hello)_Temporarly disabled for better performance. The only first matched entry defines the flags for the expression_
Unicode
+ `\x{HEX}` : `\x{200D}` + `\p{CATEGORY}` : `\p{L}`POSIX +
[:ascii:],[:^ascii:], etcCharacters class + intersection:
[a-z&&[^c]]Character types + (non-) hexadecimal :
\h,\H
Named Groups
var rgx = new Regex('Name:\\s*(?<name>\\w+)');
var match = rgx.mach('My Name: Baz');
equals(match.groups.name, 'Baz');API
Npm/Bower
$ npm i atma-regex -s
$ bower install atma-regex --savevar Regex = require('atma-regex');
var rgx = new Regex(pattern: string, flags: string);Regex::
exec(input:string, index: number = this.lastMatch): JsMatchmatch(input:string, index: number = this.lastMatch): RegexMatchmatches(input:string): RegexMatch[]lastIndex: number
JsMatch::
Javascript-compatible result object with additional properties:
groups:Object: key-value. Named group values
RegexMatch::
value:string: full matchindex:number: match indexgroups?: RegexGroupMatch[]groups[key]:string: Named group value
RegexGroupMatch::
value:string: full matchindex:number: match index
Sample:
var Regex = require('atma-regex');
var rgx = new Regex('(?<=a)([pr])');
var match = rgx.match('-p--apa');
console.log(`Matches '${match.value}' at pos #${match.index}`);See more examples in tests
:copyright: MIT