주어진 데이터 내의 패턴을 찾기 위한 문자열 표현이다.

.r 메소드를 통해 어떤 문자열이든 정규표현식으로 환산하여 사용가능하다

import scala.util.matching.Regex

val numberPattern: Regex = "[0-9]".r

numberPattern.findFirstMatchIn("awesomepassword") match
  case Some(_) => println("Password OK")
  case None => println("Password must contain a number")

( _ ) : 언더바는 무엇이든 매칭이 된다면? 이라는 조건의미이다

import scala.util.matching.Regex

val keyValPattern: Regex = "([0-9a-zA-Z- ]+): ([0-9a-zA-Z-#()/. ]+)".r

val input: String =
  """background-color: #A03300;
    |background-image: url(img/header100.png);
    |background-position: top center;
    |background-repeat: repeat-x;
    |background-size: 2160px 108px;
    |margin: 0;
    |height: 108px;
    |width: 100%;""".stripMargin

for patternMatch <- keyValPattern.findAllMatchIn(input) do
  println(s"key: ${patternMatch.group(1)} value: ${patternMatch.group(2)}")