Newtonian Particle Motion
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    sregexpublic

    sregex

    simple string regular expression that exposes matches in defined variables

    install

    node

    $ npm install sregex

    component

    $ component install jwerle/sregex

    bower

    bower install sregex

    usage

    using sregex is as simple as passing it a string

     
    var regex = sregex('some string')
     
    regex.test('some string'); // true
    regex.test('some other string'); // false

    the returned regex object from sregex is an instance of RegExp with a parse() function attached to it

     
    regex.parse('some string'); // {}

    you can easily define variables within your string sregex string and access them from a string with the parse function

    var regex = sregex('my name is :name and i am :age');
    var values = regex.parse('my name is joe and i am 22');
     
    console.log(values.name); // joe
    console.log(values.age); // 22

    the str argument for sregex accepts a string, but it also can have valid regular expression interpolated

    var regex = sregex('it can accept multiple regular expressions like ([a-zA-Z]+), ([0-9]+), and ([a-z]+)');
    var values = regex.parse('it can accept multiple regular expressions like foogots, 45, and apple');
     
    console.log(values[0]); // foogots
    console.log(values[1]); // 45
    console.log(values[2]); // apple

    it can also accept an instance of `RegExp as input

    var regex = sregex(/^foo\s?bar\s?([a-z]+)/);
    var values = regex.parse('foo bar noob');
     
    console.log(values[0]); // noob

    building a regular expression router

    building a router that parses url parameters can be simple as well

    var http = require('http')
        , sregex = require('sregex')
     
    http.createServer(function (req, res) {
        var regex = sregex('/:resource/:id/:action')
     
        // in the browser head to `http://localhost:4000/videos/1234/edit`
        console.log(regex.parse(req.url)); // { resource: 'videos', id: '1234', action: 'edit' }
    }).listen(4000);

    api

    sregex(str)

    converts a string to regular expression and allows retrieval of defined variables when parsing

    • str - a string to convert to regular expression

    example

    var regex = sregex('/user/:id')

    .parse(str)

    parses a given string and returns an object representing the values extracted using the regular expression used to create it

    • str - a string to parse and extact values from based on regular expression matches

    example

    var regex = sregex('/account/:action')
    var values = regex.parse('/action/edit');
     
    console.log(values.action); // edit

    example

    we can convert a object to a JSON string and then to binary and attach it to the string

    var regex = sregex('payload|:data')
     
    var bytes = [];
     
    var data = {
        id: 1234,
        date: Date.now()
    };
     
    var str = JSON.stringify(data)
     
    for (var i = 0; i < str.length; ++i) {
        bytes.push(str.charCodeAt(i));
    }
     
    var values = regex.parse('payload|'+ bytes.toString());
     
    console.log(values.data); // '123,34,105,100,34,58,49,50,51,52,44,34,100,97,116,101,34,58,49,51,55,49,53,56,51,52,51,53,52,52,48,125'
     
    // parse it back into a JSON string
     
    var parsed = ''
    values.data.split(',').map(function (part) {
        parsed += String.fromCharCode(part);
    });
     
    console.log(parsed); // {"id":1234,"date":1371583641484}
    console.log(JSON.parse(parsed)); // { id: 1234, date: 1371583754259 }

    license

    MIT

    Keywords

    none

    install

    npm i sregex

    Downloadsweekly downloads

    20

    version

    0.0.5

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar