Skip to content
Simple JavaScript string tokenizer for lexical scanning operations
CoffeeScript JavaScript
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
doc
lib
src
test
Cakefile
LICENSE
README.md
package.json

README.md

StringScanner

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.

StringScanner is written in CoffeeScript and distributed via npm as a CommonJS module.

Quick start

$ npm install strscan
$ node-repl
> var StringScanner = require("strscan").StringScanner
> var 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

More

Clone, fork, or file bugs at GitHub

Read the full documentation/annotated source code

Copyright

Copyright (c) 2010 Sam Stephenson. Distributed under the terms of an MIT-style license. See LICENSE for details.

Something went wrong with that request. Please try again.