【Scala】Scala ~ 正規表現 with Java lib ~

■ はじめに

https://dk521123.hatenablog.com/entry/2023/03/18/034704

の続き。

正規表現に関して、Scalaのライブラリは使えなさそうなので
Javaのライブラリで実装してみる

【1】サンプル

例1:ファイル名に付加されている日付を取得する

import java.util.regex.Matcher
import java.util.regex.Pattern

object Main extends App {
  val targetS3File = "user-xxxxx_20230317_xxx.csv"
  val pattern = Pattern.compile("user-\\S+_(\\d{8})_\\S+\\.csv")
  val matcher = pattern.matcher(targetS3File)
  if (matcher.find()){
    val date = matcher.group(1)
    println(s"${date}")
  } else {
    println("None...")
  }
}

関連記事

Scala ~ 環境構築編 ~
https://dk521123.hatenablog.com/entry/2023/03/10/193805
Scala ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2023/03/12/184331
Scala ~ 基本編 / 文字列 ~
https://dk521123.hatenablog.com/entry/2023/01/07/000000
Scala ~ 基本編 / 繰り返し ~
https://dk521123.hatenablog.com/entry/2023/01/24/000000
Scala ~ 基本編 / メソッド ~
https://dk521123.hatenablog.com/entry/2023/03/03/000000
Scala ~ 基本編 / クラス ~
https://dk521123.hatenablog.com/entry/2023/03/14/000857
Scala ~ 基本編 / コレクション ~
https://dk521123.hatenablog.com/entry/2023/03/13/000345
Scala ~ 基本編 / 日付・日時 ~
https://dk521123.hatenablog.com/entry/2023/03/08/000000
Scala ~ 基本編 / パターンマッチング ~
https://dk521123.hatenablog.com/entry/2023/06/06/233614
Scala ~ ファイル名・パスの扱い ~
https://dk521123.hatenablog.com/entry/2023/03/11/000000
Scala ~ 基本編 / 正規表現
https://dk521123.hatenablog.com/entry/2023/03/18/034704
ScalaYAML
https://dk521123.hatenablog.com/entry/2023/03/16/012034
Scala ~ 可変長引数 ~
https://dk521123.hatenablog.com/entry/2024/07/30/155036

Java

正規表現 ~ 一致・不一致の判定 ~
https://dk521123.hatenablog.com/entry/2014/06/10/224404
正規表現 ~ 文字列の抽出 ~
https://dk521123.hatenablog.com/entry/2016/12/30/142128
正規表現 ~ 数字/文字の出現回数を数える ~
https://dk521123.hatenablog.com/entry/2016/10/19/004224_1
正規表現 ~ 不要文字除去 / 対象文字のみ抽出 ~
https://dk521123.hatenablog.com/entry/2017/01/19/213612
正規表現 ~ 複雑な文字列置き換え ~
https://dk521123.hatenablog.com/entry/2015/04/08/000052

その他

正規表現 全般
https://dk521123.hatenablog.com/entry/2011/09/10/235712