Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Simple JavaScript string tokenizer for lexical scanning operations
CoffeeScript JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
doc
lib
src
test Fix that scanChar wouldn't scan newlines
Cakefile
LICENSE
README.md
package.json Bump version to 1.0.1

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.