Package Exports
- regexp-to-ast
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (regexp-to-ast) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
regexp-to-ast
Reads a JavaScript Regular Expression literal(text) and outputs an Abstract Syntax Tree.
Installation
- npm
npm install regexp-to-ast - Browser
<script src="https://unpkg.com/regexp-to-ast/lib/parser.js"></script>
API
The API is defined as a TypeScript definition file.
Usage
const RegExpParser = require("regexp-to-ast").RegExpParser
const regexpParser = new RegExpParser.parser()
// from a regexp text
const output = regexpParser.pattern("/a|b|c/g")
// text from regexp instance.
const input2 = /a|b/.toString()
// The same parser instance can be reused
const anotherOutput = regexpParser.pattern(input2)Compatibility
This library is written in ES5 style and is compatiable with all major browsers and modern node.js versions.
TODO / Limitations
- Use polyFill for string.prototype.at to support unicode characters outside BMP.
- Descriptive error messages.
- Position information in error messages.
- Support unicode flag escapes.
- Ensure edge cases described in "The madness of parsing real world JavaScript regexps" are supported.
- Support deprecated octal escapes