find-regexp-beginning
v1.0.0
Published
Find character which could be on regexp beginning
Downloads
1,010
Maintainers
Readme
Find RegExp beginning
Useful, when you need to to detect what could be the first character which will pass regular expression (i.e. for lexer optimizations)
How to install
Package is available as find-regexp-beginning
in NPM, so you can use it in your project using
npm install find-regexp-beginning
or yarn add find-regexp-beginning
What are requirements?
Code itself is written in ES6 and should work in Node.js 4+ environment (best in Node.js 9+).
If you would like to use it in browser or older development, there is also transpiled and bundled (UMD) version included.
You can use find-regexp-beginning/browser
in your requires or FindRegexpBeginning
in global environment (in browser):
// Load library
const findRegexpBeginning = require('find-regexp-beginning/browser')
const result = findRegexpBeginning(/abc/i) // [ 'a', 'A' ]
How to use it?
Most importantly first argument is RegExp
instance.
const findRegexpBeginning = require('find-regexp-beginning')
const result1 = findRegexpBeginning(/abc/) // [ 'a' ]
const result2 = findRegexpBeginning(/abc/i) // [ 'a', 'A' ]
This function returns either list of possible characters on beginning
or null
(when there is negation or any object is accepted).
Additionally, there is second argument maxCharacters
(default: 15
).
It's important when you want to not detect characters if they exceed number of maximum characters,
i.e.:
const findRegexpBeginning = require('find-regexp-beginning')
const result1 = findRegexpBeginning(/[1-9]/) // [ '1', '2', '3', '4', '5', '6', '7', '8', '9' ]
const result2 = findRegexpBeginning(/[1-9]/, 9) // [ '1', '2', '3', '4', '5', '6', '7', '8', '9' ]
const result3 = findRegexpBeginning(/[1-9]/, 100) // [ '1', '2', '3', '4', '5', '6', '7', '8', '9' ]
const result4 = findRegexpBeginning(/[1-9]/, Infinity) // [ '1', '2', '3', '4', '5', '6', '7', '8', '9' ]
const result5 = findRegexpBeginning(/[1-9]/, 3) // null