strings-to-regex
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.0 • Public • Published

    strings-to-regex

    npm package node version npm type definitions Tests status codecov Known Vulnerabilities

    Generate a compact Regular Expression that matches a finite set.

    Have you ever seen a dense Regular Expression like this one to match the 50 US state abbreviations?

    /(A(L|K|Z|R)|C(A|O|T)|DE|FL|GA|HI|I(D|L|N|A)|K(S|Y)|LA|M(E|D|A|I|N|S|O|T)|N(E|V|H|J|M|Y|C|D)|O(H|K|R)|PA|RI|S(C|D)|T(N|X)|UT|V(T|A)|W(A|V|I|Y))/

    This library generates patterns like that to match a list of strings you provide.

    To reverse this process and list which strings a Regular Expression would match, try regex-to-strings.

    Demo

    API

    condense(arrayOfStrings)

    Generate a Regular Expression to match all strings in arrayOfStrings. Respects the casing of the strings. Returns a RegExp object.

    import { condense } from 'strings-to-regex';
    
    const stringsToMatch = ['foo', 'foobar', 'Foo', 'fooBarBaz'];
    const matcher = condense(stringsToMatch);
    console.log(matcher); // /(foo(|bar|BarBaz)|Foo)/

    condenseIgnoreCase(arrayOfStrings)

    A variation of condense() that ignores the casing of the strings. Returns a RegExp object.

    import { condenseIgnoreCase } from 'strings-to-regex';
    
    const stringsToMatch = ['foo', 'foobar', 'Foo', 'fooBarBaz'];
    const matcher = condenseIgnoreCase(stringsToMatch);
    console.log(matcher); // /foo(|bar(|baz))/i

    Keywords

    none

    Install

    npm i strings-to-regex

    DownloadsWeekly Downloads

    3

    Version

    1.2.0

    License

    MIT

    Unpacked Size

    20.8 kB

    Total Files

    10

    Last publish

    Collaborators

    • wimpyprogrammer