- Notifications
You must be signed in to change notification settings - Fork131
Open
Description
I'm testing Scala Parser Combinators but for some reason I can't make non-capturing group work.
When I run the following, it works the way I want, returning only003
:
val cycle = """(?:CLEARING\sCYCLE\s)([0-9]{3})""".r"CLEARING CYCLE 003" match { case cycle(a) => println(a)}
But when I try usingRegexParsers
, I get the whole stringCLEARING CYCLE 003
instead of just the numbers:
class TestParser extends RegexParsers { def cycle: Parser[String] = """(?:CLEARING\sCYCLE\s)([0-9]{3})""".r}object Test extends TestParser { def parse(text: String) { parse(cycle, text) match { case Success(matched,_) => println(matched) case Failure(msg,_) => println(s"FAILURE: $msg") case Error(msg,_) => println(s"ERROR: $msg") } }}Test.parse("CLEARING CYCLE 003")
Am I missing something or is it an issue?
Metadata
Metadata
Assignees
Labels
No labels