ドキュメントからわかる限り、非キャプチャ グループは Java のように (:? ) で定義されています。(私はそれが同じ基礎となるライブラリだと信じています)。
ただし、これは機能しないようです。
var R = "a(:?b)c".r
R.findFirstMatchIn("abc").get.group(1)
"b" を返します (空でなければならない場合)。これは通常は問題ではないと思いますが、パターン マッチングを行う場合、次のことができないことを意味します。
"abc" match {case R => println("ok");case _ => println("not ok")}
> not ok
私がしなければなりません:
"abc" match {case R(x) => println("ok");case _ => println("not ok")}
> ok
これを「期待どおり」に機能させる方法はありますか?