xre
v1.0.5
Published
Template string tag for XRegExp.
Downloads
10
Maintainers
Readme
xre
XRegExp regular expressions without the pain in the ass.
$ yarn add xre
Examples
Multi-line RegExp with comments
import xre from 'xre';
const date = xre`/
(?<year> \d{4}) - # Year
(?<month> \d{2}) - # Month
(?<day> \d{2}) # Day
/x`;
const { year, month, day } = date.exec('2017-06-11');
console.log(`Year: ${year}, month: ${month}, day: ${day}`);
// → Year: 2017, month: 06, day: 11
Unicode support
import xre, { configure } from 'xre';
import XRegExp from 'xregexp';
// By default xre uses minimal version of XRegExp,
// so to use the power add-ons we have to configure it
// with full version of XRegExp:
configure({ XRegExp });
const fullName = xre`/(?<firstName>\p{Letter}+)\s(?<lastName>\p{Letter}+)/i`;
console.log(fullName.exec('Shit Ass').firstName);
// → Shit
console.log(fullName.exec('Говно Жопа').firstName);
// → Говно
console.log(fullName.exec('くそ けつ').firstName);
// → くそ
API
All built-in RegExp
's methods and properties is fully supported,
so you can use xre
regular expressions as an argument
for String
's methods such as replace
or match
.
Methods with non-standard behavior
exec
Arguments:
string: string
— string to search.position: number = lastIndex
— zero-based index at which to start the search.sticky: boolean | string = false
— whether the match must start at the specified position only. The string'sticky'
is accepted as an alternative totrue
.
Returns:
- Match array with named backreference properties, or
null
.
See also:
test
Arguments:
- See
Xre#exec
method arguments.
See also:
Non-standard methods
Non-standard methods are derived from XRegExp's ones, but does not take regexp argument.
addToken
(see XRegExp docs foraddToken()
method).forEach
(see XRegExp docs forforEach()
method).globalize
(see XRegExp docs forglobalize()
method).match
(see XRegExp docs formatch()
method).replace
(see XRegExp docs forreplace()
method).split
(see XRegExp docs forsplit()
method).
Additional API
configure
Arguments:
options
:XRegExp
— XRegExp constructor.
Contributing
$ yarn run lint
$ yarn run test