mbasso / natural-regex

Create regex from natural language
MIT License
152 stars 10 forks source link
javascript natural-language regex

natural-regex

Build Status npm version npm downloads Join the chat at https://gitter.im/mbasso/natural-regex

Create regex from natural language


Attention - This project isn't completed yet. There might be breaking changes until version 1.0.0. Feel free to contribute, see TODO to get started.


natural-regex is a parser that allows you to write regular expressions in natural language. This means that you can write self documentating regex using a simpler syntax that can be undestood by anyone. No more pain with validations and other stuff.

Installation

You can install natural-regex using npm:

npm install --save natural-regex

If you aren't using npm in your project, you can include NaturalRegex using UMD build in the dist folder with <script> tag.

Usage

Once you have installed natural-regex, supposing a CommonJS environment, you can import and immediately use it:

import NaturalRegex from 'natural-regex';
// validate string
const dateAndEmail = NaturalRegex.from('starts with dd/MM/yyyy, space, minus, space and then email, end.');
dateAndEmail.test('06/07/2016 - foo@bar.com'); // this evaluates true
dateAndEmail.test('Foo Bar foo@bar'); // this evaluates false

// replace in string
NaturalRegex.replace({
  string: '06/07/2014 - foo@bar.com',
  match: 'yyyy',
  replace: '2016',
});
// this returns '06/07/2016 - foo@bar.com'

NaturalRegex also includes a command line tool, check this for more information.

Documentation

Visit the Wiki for the full documentation.

Examples

Examples can be found here

Change Log

This project adheres to Semantic Versioning.
Every release, along with the migration instructions, is documented on the Github Releases page.

Authors

Matteo Basso

Copyright and License

Copyright (c) 2016, Matteo Basso.

natural-regex source code is licensed under the MIT License.