Introduction
String templates
問題
トリプルクォート文字列は、複数行の文字列に便利なだけでなく、バックスラッシュをバックスラッシュでエスケープする必要がないため、正規表現パターンを作成する際にも便利です。
次のパターンは、13.06.1992
(2桁の数字、ドット、2桁の数字、ドット、4桁の数字)という形式の日付にマッチします:
fun getPattern() = """\d{2}\.\d{2}\.\d{4}"""
このパターンを month という変数を使用して書き換え、13 JUN 1992
(2桁の数字、スペース、月の略語、スペース、4桁の数字)という形式の日付にマッチするようにしてください。
val month = "(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)"
fun getPattern(): String = TODO()
解答
val month = "(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)"
fun getPattern(): String = """\d{2} $month \d{4}"""
おわりに
正規表現って苦手なんだよな・・・。