21
21. カテゴリ名を含む行を抽出
記事中でカテゴリ名を宣言している行を抽出せよ.
21.hs
{-# LANGUAGE OverloadedStrings, DeriveGeneric #-} import Data.Aeson as A import Control.Applicative import System.IO.UTF8 as I8 import System.Environment import Data.Maybe import Data.ByteString.Lazy.UTF8 as B import GHC.Generics import Text.Regex.Posix import Prelude as P data Article = Article { text :: String, title :: String } deriving (Eq, Show, Generic) instance FromJSON Article main = do filename <- head <$> getArgs body <- fromString <$> I8.readFile filename I8.writeFile "21.txt" $ unlines $ filter (\x -> x =~ ("^[[][[]:?(カテゴリ|Category)" :: String) :: Bool) $ concatMap P.lines $ map (text . fromJust . A.decode) $ B.lines $ body
ヘルプ:Wiki マークアップ早見表 - WordPress Codex 日本語版
wikipediaの記法では、日本語の「カテゴリ」を許可しているのかわからなかったが、いくつかあるみたいだったので、抽出した。