@forensic-js/regex
Version:
A module that builds on the existing RegExp module, making it easier working with text matching and replacement both in the browser and node environments
64 lines (45 loc) • 2.23 kB
Markdown
//travis-ci.org/harrison-ifeanyichukwu/regex.svg?branch=master)](https://travis-ci.org/harrison-ifeanyichukwu/regex)
[](https://coveralls.io/github/harrison-ifeanyichukwu/regex?branch=master)
[](https://github.com/semantic-release/semantic-release)
[](https://badge.fury.io/js/%40forensic-js%2Fregex)

Regex is a module that builds on the existing `RegExp` module, making it easier working with text matching and replacment in JavaScript both in the `browser` and in `Node.JS` environment.
**Single Browser distributable bundle is located inside **dist** folder.**
```bash
npm install @forensic-js/regex
```
```typescript
import {replace} from '@forensic-js/regex';
let text = 'Is is Is is Is';
console.log(replace('is', 'are', text)); // are are are are are
// respect case (case sensitive)
console.log(replace('is', 'are', text, true)); // Is are Is are Is
// replace only first occurence, case sensitive false
console.log(replace('is', 'are', text, false, 1)); // are is Is is Is
// replace only first 2 occurences, case sensitive false
console.log(replace('is', 'are', text, false, 2)); // are are Is is Is
```
```typescript
import {replaceCallback} from '@forensic-js/regex';
const text = 'He loves her';
console.log(replaceCallback(['he', 'she'], function(matches, count) {
if (matches[0].toLowerCase() === 'he')
return 'She';
else {
return 'him'
};
}, text)); // logs She loves him
```
to reference a captured parameter in replacement text, use the format `$:number`. e.g **$:1**, **$:2**, **$:3**
```typescript
import {replace} from '@forensic-js/regex';
const text = '2222 is the amount';
console.log(
replace(/(\d+)/, '$$:1', text)).toEqual('$2222 is the amount')
);
```
[![Build Status](https: