你可以在Elixir的案例中使用正则表达式吗?
所以有一些这样的事情:
case some_string do "string" -> # do something ~r/string[\d]+/ -> # do something _ -> # do something end
有情况是不可能的,但您可以使用cond:
cond do some_string == "string" -> # do something String.match?(some_string,~r/string[\d]+/) -> # do something true -> # do something end
原因是无法通过为特定值调用特殊函数来钩住模式匹配。我想你从Ruby得到这个想法,通过定义特殊的运算符===来实现。这将由Ruby的case语句隐式调用,对于正则表达式,它将匹配给定的值。
原文地址:https://www.jb51.cc/regex/357605.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。