safe-regex

WebJar for safe-regex

License

License

MIT
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

safe-regex
Last Version

Last Version

1.1.0
Release Date

Release Date

Type

Type

jar
Description

Description

safe-regex
WebJar for safe-regex
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/substack/safe-regex

Download safe-regex

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/safe-regex/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>safe-regex</artifactId>
    <version>1.1.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/safe-regex/
implementation 'org.webjars.npm:safe-regex:1.1.0'
// https://jarcasting.com/artifacts/org.webjars.npm/safe-regex/
implementation ("org.webjars.npm:safe-regex:1.1.0")
'org.webjars.npm:safe-regex:jar:1.1.0'
<dependency org="org.webjars.npm" name="safe-regex" rev="1.1.0">
  <artifact name="safe-regex" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='safe-regex', version='1.1.0')
)
libraryDependencies += "org.webjars.npm" % "safe-regex" % "1.1.0"
[org.webjars.npm/safe-regex "1.1.0"]

Dependencies

compile (1)

Group / Artifact Type Version
org.webjars.npm : ret jar [0.1.10,0.2)

Project Modules

There are no modules declared in this project.

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

Versions

Version
1.1.0