You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
955 B
43 lines
955 B
2 months ago
|
#regexp-clone
|
||
|
==============
|
||
|
|
||
|
Clones RegExps with flag and `lastIndex` preservation.
|
||
|
|
||
|
```js
|
||
|
const regexpClone = require('regexp-clone');
|
||
|
|
||
|
const a = /somethin/misguy;
|
||
|
console.log(a.global); // true
|
||
|
console.log(a.ignoreCase); // true
|
||
|
console.log(a.multiline); // true
|
||
|
console.log(a.dotAll); // true
|
||
|
console.log(a.unicode); // true
|
||
|
console.log(a.sticky); // true
|
||
|
|
||
|
const b = regexpClone(a);
|
||
|
console.log(b.global); // true
|
||
|
console.log(b.ignoreCase); // true
|
||
|
console.log(b.multiline); // true
|
||
|
console.log(b.dotAll); // true
|
||
|
console.log(b.unicode); // true
|
||
|
console.log(b.sticky); // true
|
||
|
|
||
|
const c = /hi/g;
|
||
|
c.test('this string hi there');
|
||
|
assert.strictEqual(c.lastIndex, 3);
|
||
|
|
||
|
const d = regexpClone(c);
|
||
|
assert.strictEqual(d.lastIndex, 3);
|
||
|
d.test('this string hi there');
|
||
|
assert.strictEqual(d.lastIndex, 14);
|
||
|
assert.strictEqual(c.lastIndex, 3);
|
||
|
```
|
||
|
|
||
|
```
|
||
|
npm install regexp-clone
|
||
|
```
|
||
|
|
||
|
## License
|
||
|
|
||
|
[MIT](https://github.com/aheckmann/regexp-clone/blob/master/LICENSE)
|