読者です 読者をやめる 読者になる 読者になる

( ꒪⌓꒪) ゆるよろ日記

( ゚∀゚)o彡°オパーイ!オパーイ! ( ;゚皿゚)ノシΣ フィンギィィーーッ!!!

scala.util.matching.Regexはバグじゃないよ

scala

ついったで@kmizuさんに教えて頂きましたよ。
グループを含まない正規表現の場合は、case reg1() => ...のように書けばよいとのことです。

scala> val reg1="abc.+$".r
reg1: scala.util.matching.Regex = abc.+$

scala> val reg2="abc(.+)$".r
reg2: scala.util.matching.Regex = abc(.+)$

scala> "abcdef" match { 
 case reg1() => print("reg1")
 case reg2(x) => print("reg2")
 case _ => print("none")
}
reg1


自分のextractorに対する理解が足りてなかったようです。
unapplySeqで返すSome(List())の要素数とパターン引数が一致するようにcaseを書く必要があるとのことです。