sfcode: regex-not <a href="https://www.npmjs.com/package/regex-not"><img src="https://img.shields.io/npm/v/regex-not.svg?style=flat" alt="NPM version"/></a> <a href="https://npmjs.org/package/regex-not"><img src="https://img.shields.io/npm/dm/regex-not.svg?style=flat" alt="NPM monthly downloads"/></a> <a href="https://npmjs.org/package/regex-not"><img src="https://img.shields.io/npm/dt/regex-not.svg?style=flat" alt="NPM total downloads"/></a> <a href="https://travis-ci.org/jonschlinkert/regex-not"><img src="https://img.shields.io/travis/jonschlinkert/regex-not.svg?style=flat&label=Travis" alt="Linux Build Status"/></a>
regex-not

Contributing

> 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

<details>

Pull requests and stars are always welcome. For bugs and feature requests, please create an issue.

</details>

<details>

Running Tests

Running and reviewing unit tests is a great way to get familiarized with a library and its API. You can install dependencies and run tests with the following command:

$ npm install && npm test

</details>

<details>

Building docs

_(This project's readme.md is generated by verb, please don't edit the readme directly. Any changes to the readme must be made in the .verb.md readme template.)_

To generate the readme, run the following command:

$ npm install -g verbose/verb#dev verb-generate-readme && verb

</details>

## 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

- linkedin/in/jonschlinkert
- github/jonschlinkert
- twitter/jonschlinkert

## License

Copyright © 2018, Jon Schlinkert. Released under the [MIT License](LICENSE).

This file was generated by verb-generate-readme, v0.6.0, on February 19, 2018.