簡體   English   中英

Haskell Regex - 無法將類型“[Char]”與“IO()”錯誤匹配

[英]Haskell Regex - Couldn't match type ‘[Char]’ with ‘IO () error

在 Haskell 中,我有一個程序可以從頁面上刮下html 並將其存儲在一個名為 'html' 的變量中,該變量是類型 IO ()。 然后我想生成一個 String 類型的列表,該列表通過來自該網頁的模式保存所有匹配項。

下面這兩行從模式生成匹配列表

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

我收到錯誤:

在此處輸入圖片說明

我想做的是:

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

其中字符串類型的matches_list 是匹配列表。

編輯


我從這里得到的實際刮板的工作原理如下:

在此處輸入圖片說明

想象一下 'src' 是我的 'html' 變量

您正在嘗試將正則表達式匹配器的結果轉換為一個接受字符串並返回IO String的函數,但根據您的描述,聽起來您寧願將其轉換為字符串列表,盡管您尚未指定您正在使用的正則表達式庫,您的修復可能就像更改此內容一樣簡單:

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

進入這個:

let matches_list = html =~ pattern :: [String]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM