htc 7ca38fdcbb 善行少年PC端首次提交(基础版) преди 10 месеца
..
example 7ca38fdcbb 善行少年PC端首次提交(基础版) преди 10 месеца
test 7ca38fdcbb 善行少年PC端首次提交(基础版) преди 10 месеца
.travis.yml 7ca38fdcbb 善行少年PC端首次提交(基础版) преди 10 месеца
LICENSE 7ca38fdcbb 善行少年PC端首次提交(基础版) преди 10 месеца
index.js 7ca38fdcbb 善行少年PC端首次提交(基础版) преди 10 месеца
package.json 7ca38fdcbb 善行少年PC端首次提交(基础版) преди 10 месеца
readme.markdown 7ca38fdcbb 善行少年PC端首次提交(基础版) преди 10 месеца

readme.markdown

safe-regex

detect potentially catastrophic exponential-time regular expressions by limiting the star height to 1

WARNING: This module merely seems to work given all the catastrophic regular expressions I could find scouring the internet, but I don't have enough of a background in automata to be absolutely sure that this module will catch all exponential-time cases.

browser support

build status

example

var safe = require('safe-regex');
var regex = process.argv.slice(2).join(' ');
console.log(safe(regex));
$ node safe.js '(x+x+)+y'
false
$ node safe.js '(beep|boop)*'
true
$ node safe.js '(a+){10}'
false
$ node safe.js '\blocation\s*:[^:\n]+\b(Oakland|San Francisco)\b'
true

methods

var safe = require('safe-regex')

var ok = safe(re, opts={})

Return a boolean ok whether or not the regex re is safe and not possibly catastrophic.

re can be a RegExp object or just a string.

If the re is a string and is an invalid regex, returns false.

  • opts.limit - maximum number of allowed repetitions in the entire regex. Default: 25.

install

With npm do:

npm install safe-regex

license

MIT