regex-not

Create a javascript regular expression for matching everything except for the given string.
Please consider following this project's author, Jon Schlinkert, and consider starring the project to show your :heart: and support.
Install
Install with npm:
$ npm install --save regex-not
Usage
var not = require('regex-not');
The main export is a function that takes a string an options object.
not(string[, options]);
Example
var not = require('regex-not');
console.log(not('foo'));
//=> /^(?:(?!^(?:foo)$).)+$/
Strict matching
By default, the returned regex is for strictly (not) matching the exact given pattern (in other words, "match this string if it does NOT exactly equal foo
"):
var re = not('foo');
console.log(re.test('foo')); //=> false
console.log(re.test('bar')); //=> true
console.log(re.test('foobar')); //=> true
console.log(re.test('barfoo')); //=> true
.create
Returns a string to allow you to create your own regex:
console.log(not.create('foo'));
//=> '(?:(?!^(?:foo)$).)+'
Options
options.contains
You can relax strict matching by setting options.contains
to true (in other words, "match this string if it does NOT contain foo
"):
var re = not('foo');
console.log(re.test('foo', {contains: true})); //=> false
console.log(re.test('bar', {contains: true})); //=> true
console.log(re.test('foobar', {contains: true})); //=> false
console.log(re.test('barfoo', {contains: true})); //=> false
About
sh
$ npm install && npm test
sh
$ npm install -g verbose/verb#dev verb-generate-readme && verb
Related projects
You might also be interested in these projects:
- regex-cache: Memoize the results of a call to the RegExp constructor, avoiding repetitious runtime compilation of… more | homepage
- to-regex: Generate a regex from a string or array of strings. | homepage
Contributors
Commits | Contributor |
---|---|
9 | jonschlinkert |
1 | doowb |
1 | EdwardBetts |
Author
Jon Schlinkert
License
Copyright © 2018, Jon Schlinkert. Released under the MIT License.
This file was generated by verb-generate-readme, v0.6.0, on February 19, 2018.