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

    1.1.0 • Public • Published

    betteregex

    GitHub contributors Snyk Vulnerabilities for GitHub Repo npm bundle size npm downloads License Code style XO

    Credit to @Hashbrown777 on GitHub for the idea and the original implementation

    betteregex is a tool that allows regex pros to do write cleaner, more understandable regexes. Write regexes without worrying about:

    • double backslashing (just write "\d" instead of "\\d")
    • adding whitespace for readability
    • adding comments
    // Comparing two ways of writing RFC2822-like email validation regex
    
    // The normal way: small but cryptic
    const emailRegex = /[a-z\d!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z\d!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z\d](?:[a-z\d-]*[a-z\d])?\.)+[a-z\d](?:[a-z\d-]*[a-z\d])?/g
    
    // The betteregex way: longer but straightforward
    const { regex } = require('betteregex')
    const anythingAllowedInEmail = '[a-z0-9!#$%&\'*+/=?^_`{|}~-]+';
    
    const emailRegex = regex`
    	// Match one or more alphabet, numbers, one of allowed special characters or tildes
    	${anythingInEmailRegex}
    
    	// Open group
    	(?:
    		// Match a dot if any
    		\.
    		// Same as before
    		${anythingInEmailRegex}
    	// Close group, match one or more greedy
    	)*
    	
    	// The @
    	@
    	
    	// Open group
    	(?:
    		// Provider name (gmail etc.)
    		[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
    		// The dot
    		\.
    	// Close group
    	)+
    	
    	/*
    		The ending extension
    		May not match everything becauseextensions are (mostly) letters
    	*/
    	[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
    ${'g'}`

    Prerequisites

    Before you begin, make sure you have installed NodeJS.

    Installation

    Install using npm:

    $ npm i betteregex

    Usage

    const {regex} = require("betteregex")
    
    const exp = regex`
    	// Your regex here
    	// Example:
    	\d+\w\s
    
    	.*
    `

    For more info, read the documentation

    License

    THis project is licensed under GNU GPL 3.0

    Keywords

    Install

    npm i betteregex

    DownloadsWeekly Downloads

    5

    Version

    1.1.0

    License

    GPL-3.0

    Unpacked Size

    39.8 kB

    Total Files

    5

    Last publish

    Collaborators

    • siddharthshyniben