2016-04-14 11 views
0

Haskell内では、htmlをページからスクラップし、' html 'というタイプのIO )。次に、そのWebページのパターンですべての一致を保持するString型のリストを生成したいとします。Haskell Regex - タイプ '[Char]'と 'IO()エラーが一致しませんでした。

以下この2行は、パターン

let pattern = "..." --note, regex is omited 
html =~ pattern :: String -> IO String 

からマッチのリストを生成し、私はエラーを取得する:

enter image description here

私が何をしたいかのようなものです:

let pattern = "..." 
let matches_list = html =~ pattern :: String -> IO String 

ここで、String型のmatches_listはmatcheのリストですs。

EDIT


私は単にこのようhere作品から得た実際のスクラッパー:

enter image description here

'SRC' は可変

+0

'場合は、' IOは() 'それはありません値は伝統的な意味ではありますが、プロトタイプ 'void html(void)'(それが役立つ場合)を持つC関数によく似たIOアクションです。まず、HTMLを取得する必要があります。これは実行していないようです。 –

+0

また、これらの種類の質問では、使用しているライブラリにリンクすると常に役立ちます。正規表現の場合、Haskellエコシステムを支配する単一のライブラリはありません。 –

+0

@ ThomasM.DuBuisson私の編集 – BDillan

答えて

1
私の 'HTML' であると想像

あなたはcaを試みています正規表現matcherの結果を文字列をとり、IO Stringを返す関数に変換しますが、あなたの説明に基づいて、文字列のリストにキャストしたいと思っています。使用している正規表現ライブラリ、あなたの修正は、おそらくこの変化するような単純なものです。この中

let matches_list = html =~ pattern :: String -> IO String 

:html`は型である

let matches_list = html =~ pattern :: [String] 
関連する問題