JavaScript Regular expressions made easy, VerbalExpressions is a JavaScript library that helps to construct difficult regular expressions.

How to get started

In the browser

<script src="VerbalExpressions.js"></script>

Or use the jsDelivr CDN.

On the server (node.js)

Install:

npm install verbal-expressions

Require:

var VerEx = require('verbal-expressions');

Running tests

$ npm run grunt
(or)
$ npm test

Creating a minified version

This will generate a minified version of VerbalExpressions.js (aptly named VerbalExpressions.min.js) in a dist folder.

$ npm run build

A source map will also be created in the same folder, so you can use the original unminified source file (copied to dist as well) for debugging purposes.

Examples

Here's a couple of simple examples to give an idea of how VerbalExpressions works:

Testing if we have a valid URL

// Create an example of how to test for correctly formed URLs
var tester = VerEx()
    .startOfLine()
    .then('http')
    .maybe('s')
    .then('://')
    .maybe('www.')
    .anythingBut(' ')
    .endOfLine();

// Create an example URL
var testMe = 'https://www.google.com';

// Use RegExp object's native test() function
if (tester.test(testMe)) {
    alert('We have a correct URL '); // This output will fire}
} else {
    alert('The URL is incorrect');
}

console.log(tester); // Outputs the actual expression used: /^(http)(s)?(\:\/\/)(www\.)?([^\ ]*)$/

Replacing strings

// Create a test string
var replaceMe = 'Replace bird with a duck';

// Create an expression that seeks for word "bird"
var expression = VerEx().find('bird');

// Execute the expression like a normal RegExp object
var result = expression.replace(replaceMe, 'duck');

// Outputs "Replace duck with a duck"
alert(result);

Shorthand for string replace:

var result = VerEx().find('red').replace('We have a red house', 'blue');

// Outputs "We have a blue house"
alert(result);

API documentation

You can find the API documentation at the wiki pages.

Download