README.rdoc

Path: README.rdoc
Last Update: Thu Dec 16 00:01:59 -0500 2010

Reginald

Reginald is a Ruby Reginald syntax parser.

Its parser and tokenizer are written in racc/rexical. Since racc is part of Ruby‘s standard library, there are no extra runtime dependencies.

Examples

Determine if a Regexp could be treated as a literal String

  Reginald.parse(/foo/).literal? # => true
  Reginald.parse(/ba./).literal? # => false

Determine whether a character could match a part of a Regexp

  Reginald.parse(/foo\/bar/).include?("/")    # => true
  Reginald.parse(/foo.bar/).include?("/")     # => true
  Reginald.parse(/foo[a-z]bar/).include?("/") # => false

Extract a substring of a Regexp

  Reginald.parse(/foobar/)[3..6] => #<Expression "bar">
  Reginald.parse(/fo{2}[bB]ar/)[2..5] => #<Expression "[bB]ar">

[Validate]