Express style path to RegExp utility


Turn an Express-style path string such as /user/:name into a regular expression.

Note: This is a legacy branch. You should upgrade to 1.x. If you find you are stuck on this version, your code will need to take into account the index property on the keys.

var pathToRegexp = require('path-to-regexp');
  • path A string in the express format, an array of such strings, or a regular expression
  • keys An array to be populated with the keys present in the url. Once the function completes, this will be an array of strings.
  • options
    • options.sensitive Defaults to false, set this to true to make routes case sensitive
    • options.strict Defaults to false, set this to true to make the trailing slash matter.
    • options.end Defaults to true, set this to false to only match the prefix of the URL.
var keys = [];
var exp = pathToRegexp('/foo/:bar', keys);
//keys = ['bar'] 
//exp = /^\/foo\/(?:([^\/]+?))\/?$/i 

You can see a live demo of this library in use at express-route-tester.