Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing Haskell-从字符串解析特定模式_Parsing_Haskell - Fatal编程技术网

Parsing Haskell-从字符串解析特定模式

Parsing Haskell-从字符串解析特定模式,parsing,haskell,Parsing,Haskell,我正试图解决一个与解析Haskell中字符串的模式有关的问题 给定以下字符串: s = "/show\ hello how are /dont\ you /;dont\ doing /;show\" 程序将读取直到找到“/”,然后保存找到的内容直到找到“\”。内容将与我已排序的已批准单词列表进行比较 我遇到的问题实际上是解析字符串中的内容并保留它以执行所需的检查 我该怎么做呢 谢谢。给这只猫剥皮有很多方法。这里有一个特别快速和肮脏的方法提示: Text.Regex.TDFA> let s

我正试图解决一个与解析Haskell中字符串的模式有关的问题

给定以下字符串:

s = "/show\ hello how are /dont\ you /;dont\ doing /;show\"
程序将读取直到找到“/”,然后保存找到的内容直到找到“\”。内容将与我已排序的已批准单词列表进行比较

我遇到的问题实际上是解析字符串中的内容并保留它以执行所需的检查

我该怎么做呢


谢谢。

给这只猫剥皮有很多方法。这里有一个特别快速和肮脏的方法提示:

Text.Regex.TDFA> let s = "/show\\ hellow how are /dont\\ you /;dont\\ doing /;show\\"
Text.Regex.TDFA> s =~ "/[^/\\]*\\\\" :: [[String]]
[["/show\\"],["/dont\\"],["/;dont\\"],["/;show\\"]]

字符串是列表,因此请使用prelude中的列表函数,例如
takeWhile
,一步一步地解决问题,然后合并这些步骤,直到得到解决方案。或者,您可以查看Parsec。