【发布时间】:2013-08-21 03:22:29
【问题描述】:
我正在尝试编写一些代码来验证 erlang 中以冒号分隔的 k/v 对列表。我可以得到以下表达式来匹配一对。
re:run(Tag, "^([a-zA-Z0-9]{1,50}:[^:][ ]?[a-zA-Z0-9\\.\\-\\_\\+]{1,50})")
所以,如果我传递一个 key:value 标签,它会按预期匹配。但是,如果我通过 key:value:123 之类的东西,我需要它不匹配。似乎正在发生的事情是如果字符串的任何部分匹配,则 re 返回 {match, Match} 。但是,如果整个字符串匹配,我需要它只返回匹配。有没有办法在erlang中做到这一点?我在http://www.erlang.org/doc/man/re.html 阅读了文档并尝试了一些选项,但还没有弄清楚。
【问题讨论】:
-
您是否尝试在您的正则表达式末尾添加
$?