てくのろじーたのしー

Haskellぺろぺろ

Haskellで正規表現

Haskell正規表現を使った覚書。

  • 最初にマッチした部分を取得
firstCapture :: String -> String -> String
firstCapture source pattern = head . mrSubList $ source =~ pattern

firstCapture "abcdefg" =~ "a(\\w\\w)d\\w\\w) == "bc"

matchResultでは最初にマッチしたものだけを補足するので、[[String]]でマッチさせて、探した方が良いかも。 括弧が1つならhead . head $ source =~ pattern

"123abc" =~ "\\d\\d\\d\\w\\w\\w"

\\を付ける。