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