regex - 模式匹配 Haskell 中的正则表达式模式

标签 regex haskell pattern-matching

在 Scala 中,我有一个像这样的正则表达式模式匹配:

val Regex = """(\d{4})/(\d{2})/(\d{2})""".r
val Regex(year, month, day) = "2013/01/06"

结果是:
year: String = 2013
month: String = 01
day: String = 06

如何在 Haskell 中完成类似的结果?换句话说,我可以匹配包含组的正则表达式并将组分配给标识符吗?

最佳答案

这对我有用:

Prelude Text.Regex.Posix> "2013/01/06" =~ "([0-9]+)/([0-9]*)/([0-9]*)" :: (String,String,String,[String])
("","2013/01/06","",["2013","01","06"])

(OS X 上的 ghci 7.4.2)

关于regex - 模式匹配 Haskell 中的正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14187577/

相关文章:

visual-studio - visual studio 正则表达式查找/替换错误

javascript - SQL 语句中单引号替换的正则表达式

javascript - 正则表达式不允许连续的点字符等

Haskell lambda 表达式和简单的逻辑公式

pattern-matching - 在 Coq 的单个子句中模式匹配多个构造函数

asp.net - 在正则表达式中允许-(破折号)

haskell - 过滤掉不需要的元组

haskell - 在 Haskell 中使用 foldl 遍历树

c++ - 匹配小的灰度图像

pattern-matching - Elixir:使用模式匹配捕获 map 的其余部分