strscan-ts
v1.0.0
Published
**StringScanner** is a simple string tokenizer that provides for lexical scanning operations on a string. It's a JavaScript port of the [Ruby library with the same name](http://ruby-doc.org/core/classes/StringScanner.html).
Downloads
590
Readme
StringScanner is a simple string tokenizer that provides for lexical scanning operations on a string. It's a JavaScript port of the Ruby library with the same name.
Scanning a string means keeping track of and advancing a position (a zero-based index into the source string) and matching regular expressions against the portion of the source string after the position.
This code is a port of Sam Stephenson's original CoffeeScript version.
Quick start
$ yarn add strscan-ts
$ node
> { StringScanner } = require("strscan-ts")
> s = new StringScanner("This is a test")
> s.scan(/\w+/) # => "This"
> s.scan(/\w+/) # => null
> s.scan(/\s+/) # => " "
> s.scan(/\s+/) # => null
> s.scan(/\w+/) # => "is"
> s.hasTerminated() # => false
> s.scan(/\s+/) # => " "
> s.scan(/(\w+)\s+(\w+)/) # => "a test"
> s.getMatch() # => "a test"
> s.getCapture(0) # => "a"
> s.getCapture(1) # => "test"
> s.hasTerminated() # => true
Slower start
Go get a hot drink, put on some soothing music, visualize your happy place, and delight in the docs.
Information
This is a derivative work of Sam Stevphenson's original.
It is made available under the MIT license.
Copyright © 2022 Dave Thomas