2016-12-23 20 views
0

に合わせた確認方法は、私は30以上の正規表現パターンがあるとします。スカラ - 正規表現パターンは、文字列

val pattern1 = """(pat)(tern)(1)""".r 
val pattern2 = """(pat)(tern)(1)""".r 
val pattern3 = """(pat)(tern)(1)""".r 
... 

私は文字列に一致するパターンをチェックしたいです。あなたのケースでは、この

val s = "MyString" 

s match { 
case pattern1 => grup 1 of pattern1 
case pattern2 => grup 2 of pattern2 
case pattern3 => grup 3 of pattern3 
... 
case _ => "No pattern match" 
} 
+0

パターンの配列を歩い効率的(で)ようである - いいえ、効率的な道を作っていない限り1つの大きなパターン。 –

答えて

0

ような何か、あなたはこのような何か行うことができます。

val s = "MyString" 

s match { 
    case k if s.matches(pattern1.regex) => //.....do something 
    case k if s.matches(pattern2.regex) => //.....do something 
    case k if s.matches(pattern3.regex) => //.....do something 
    ... 
    case _ => "No pattern match" 

}

関連する問題