import System
import Maybe
import Text.Regex
main = do args <- getArgs
case args of
(pat:_) -> putStr . grep (mkRegex pat) =<< getContents
_ -> error "no pattern given"
grep :: Regex -> String -> String
grep re = unlines . filter (isJust . matchRegex re) . lines