safe-regex, 检测可能灾难性的指数时间 正规表达式

分享于 

2分钟阅读

GitHub

  繁體 雙語
detect possibly catastrophic, exponential-time regular expressions
  • 源代码名称:safe-regex
  • 源代码网址:http://www.github.com/substack/safe-regex
  • safe-regex源代码文档
  • safe-regex源代码下载
  • Git URL:
    git://www.github.com/substack/safe-regex.git
    Git Clone代码到本地:
    git clone http://www.github.com/substack/safe-regex
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/substack/safe-regex
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    安全正则表达式

    通过限制 star高度到 1,检测潜在的灾难性指数时间

    我觉得这个模块可能会 catch,但是我没有足够的经验,因为我没有足够的时间来确定这个模块的全部指数。

    browser support

    build status

    示例
    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 'blocations*:[^:n]+b(Oakland|San Francisco)b'
    
    
    true
    
    
    
    
    方法
    var safe =require('safe-regex')

    var = 安全( opts=,{} )

    返回布尔值 ok,正规表达式 re 是否安全且不可以能是灾难性的。

    re 可以是 RegExp 对象,也可以只是字符串。

    如果 re 是一个字符串并且是一个无效的正规表达式,则返回 false

    • opts.limit - 整个 正规表达式 中允许的最大重复次数。 默认值:25
    安装

    使用 npm:

    
    npm install safe-regex
    
    
    
    
    许可证

    MIT


    EXP  pos  expr  Detect  CAT  表达式  
    相关文章