1.0.0 • Published 9 years ago
onigurumajs v1.0.0
onigurumajs
implementation of the node-oniguruma API using xregexp, various shims, replacements, and elbow grease.
Why does this exist?
- It would be nice to be able to parse TextMate grammars (the basis for syntax highlighting in Atom) in pure JS:
- JavaScript's regex parser lacks some useful features, such as lookbehinds. onigurumajs adds them.
Usage
See node-oniguruma.
Adds support to JavaScript for
- extended xregexp syntax described here: http://xregexp.com/syntax/
- leading lookbehind zero-length assertions:
var scanner = new OnigScanner(['(?<!a)b'])
scanner.test('bb') // match.
scanner.test('ab') // fails to match.
- lookbehind assertions following alternation characters:
var scanner = new OnigScanner(['cat|(?<!a)b'])
scanner.test('cat') // match.
scanner.test('bb') // match.
scanner.test('ab') // fails to match.
\x{xxxx}
format unicode escape codes
var scanner = new NOnigScanner(['\\x{2603}'])
scanner.findNextMatchSync('☃') // match.
Contribute
This is a work in progress please join in, open some issues, submit pull requests, and help build a crazy full-featured regex parser for JavaScript.
License
ISC
1.0.0
9 years ago