Create a javascript regular expression for matching everything except for the given string.
Install with npm:
$ npm install --save regex-not
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
Returns a string to allow you to create your own regex:
console.log(not.create('foo'));
//=> '(?:(?!^(?:foo)$).)*'
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
Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.
(This document was generated by verb-generate-readme (a verb generator), please don't edit the readme directly. Any changes to the readme must be made in .verb.md.)
To generate the readme and API documentation with verb:
$ npm install -g verb verb-generate-readme && verb
Install dev dependencies:
$ npm install -d && npm test
Jon Schlinkert
Copyright © 2016, Jon Schlinkert. Released under the MIT license.
This file was generated by verb-generate-readme, v0.1.31, on October 07, 2016.
# regex-not [![NPM version](https://img.shields.io/npm/v/regex-not.svg?style=flat)](https://www.npmjs.com/package/regex-not) [![NPM downloads](https://img.shields.io/npm/dm/regex-not.svg?style=flat)](https://npmjs.org/package/regex-not) [![Build Status](https://img.shields.io/travis/jonschlinkert/regex-not.svg?style=flat)](https://travis-ci.org/jonschlinkert/regex-not) > Create a javascript regular expression for matching everything except for the given string. ## Install Install with [npm](https://www.npmjs.com/): ```sh $ npm install --save regex-not ``` ## Usage ```js var not = require('regex-not'); ``` The main export is a function that takes a string an options object. ```js not(string[, options]); ``` **Example** ```js 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`"): ```js 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: ```js 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`"): ```js 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 ### Related projects * [regex-cache](https://www.npmjs.com/package/regex-cache): Memoize the results of a call to the RegExp constructor, avoiding repetitious runtime compilation of… [more](https://github.com/jonschlinkert/regex-cache) | [homepage](https://github.com/jonschlinkert/regex-cache "Memoize the results of a call to the RegExp constructor, avoiding repetitious runtime compilation of the same string and options, resulting in suprising performance improvements.") * [to-regex](https://www.npmjs.com/package/to-regex): Generate a regex from a string or array of strings. | [homepage](https://github.com/jonschlinkert/to-regex "Generate a regex from a string or array of strings.") ### Contributing Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). ### Building docs _(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ To generate the readme and API documentation with [verb](https://github.com/verbose/verb): ```sh $ npm install -g verb verb-generate-readme && verb ``` ### Running tests Install dev dependencies: ```sh $ npm install -d && npm test ``` ### Author **Jon Schlinkert** * [github/jonschlinkert](https://github.com/jonschlinkert) * [twitter/jonschlinkert](http://twitter.com/jonschlinkert) ### License Copyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert). Released under the [MIT license](https://github.com/jonschlinkert/regex-not/blob/master/LICENSE). *** _This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.31, on October 07, 2016._