1. ホーム
  2. regex

[解決済み] Scalaで正規表現を使ったパターンマッチを行うには?

2022-02-07 17:17:23

質問

ある単語の最初の文字と、"ABC"のようなグループ内の1文字が一致するものを探したいのですが、どうすればよいでしょうか?擬似コードでは、次のようになります。

case Process(word) =>
   word.firstLetter match {
      case([a-c][A-C]) =>
      case _ =>
   }
}

しかし、JavaではなくScalaで最初の文字をつかむにはどうしたらいいのでしょうか?正規表現を正しく表現するにはどうしたらいいのでしょうか?の中でこれを行うことは可能でしょうか? ケースクラス ?

解決方法は?

正規表現では抽出器を定義するので可能ですが、最初に正規表現パターンを定義する必要があります。 ScalaのREPLにアクセスできないので試せませんが、こんな感じでうまくいくはずです。

val Pattern = "([a-cA-C])".r
word.firstLetter match {
   case Pattern(c) => c bound to capture group here
   case _ =>
}