Necessary Pigeonholing Mechanism

    verbal-expressions
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.2 • Public • Published

    VerbalExpressions

    Build Status Latest Version jsDelivr License

    JavaScript Regular Expressions made easy

    VerbalExpressions is a JavaScript library that helps 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:

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

    Or use ES6's import:

    import VerEx from 'verbal-expressions';

    Running tests

    npm test

    (or)

    npm run test:verbose

    Creating a minified version

    npm run build

    This will run Babel on VerbalExpressions.js and output the result to dist/verbalexpressions.js. A minified version of the same will also be written to dist/verbalexpressions.min.js.

    A source map will also be created in dist, so you can use the original "un-babelified", unminified source file for debugging purposes.

    API documentation

    You can find the API documentation at verbalexpressions.github.io/JSVerbalExpressions. You can find the source code for the docs in docs.

    Examples

    Here are some 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
    const tester = VerEx()
        .startOfLine()
        .then('http')
        .maybe('s')
        .then('://')
        .maybe('www.')
        .anythingBut(' ')
        .endOfLine();
     
    // Create an example URL
    const 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
    const replaceMe = 'Replace bird with a duck';
     
    // Create an expression that seeks for word "bird"
    const expression = VerEx().find('bird');
     
    // Execute the expression like a normal RegExp object
    const result = expression.replace(replaceMe, 'duck');
     
    // Outputs "Replace duck with a duck"
    alert(result);

    Shorthand for string replace

    const result = VerEx().find('red').replace('We have a red house', 'blue');
     
    // Outputs "We have a blue house"
    alert(result);

    Contributions

    Pull requests are warmly welcome!

    Clone the repo and fork:

    git clone https://github.com/VerbalExpressions/JSVerbalExpressions.git

    Style guide

    The Airbnb style guide is loosely used as a basis for creating clean and readable JavaScript code. Check .eslintrc.

    Check out these slide decks for handy Github & git tips:

    Tools

    Other Implementations

    You can see an up to date list of all ports on VerbalExpressions.github.io.

    If you would like to contribute another port (which would be awesome!), please open an issue specifying the language in the VerbalExpressions/implementation repo. Please don't open PRs for other languages against this repo.

    Install

    npm i verbal-expressions

    DownloadsWeekly Downloads

    3,440

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    134 kB

    Total Files

    33

    Last publish

    Collaborators

    • verbalexpressions