sfcode
An Online Competing and Development Environment
regex-not NPM version NPM monthly downloads NPM total downloads Linux Build Status

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

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.