我感兴趣的是使用Haskell解析HTML文件以搜索标签中的字符串,例如,我想在<body>
... </body>
之间获取字符串。我试过了
getValue :: String -> [String]
getValue [] = []
getValue '<':x:'>':y:'<':'/':x:'>':z = y:[]:getValue z
如果有的话,它将列举所有案例。但我感兴趣的是那些不是任何其他输出元素子集的最大的那些。我该怎么做?
答案 0 :(得分:2)
您编写的代码仅匹配 包含1个字符正文的1个字符的标记名称。
<p>x</p> Matches
<ul>y</ul> Does not match
<p>xyz</p> Does not match
<body>x</body> Does not match
我猜这根本不是你想要的。
您不能使用模式匹配来匹配任意正则表达式;你需要使用正则表达式库。在我看来,你的选择是:
您选择哪个选项取决于您要执行的操作。你真的想“解决”这个问题吗,或者你只是想学习如何在Haskell中做事?