【发布时间】:2015-04-29 19:07:41
【问题描述】:
我正在尝试验证将以, 分隔的string 值的数据。我想要验证 sting 中不应重复相同的值。
例如。我的价值是。
data1 = "value1,value2,value3,va-lu4,value 6,value1";//should fail
data2 = "value1,value2,value3,va-lu4,value 6";//should pass
在上述场景中,data1 应该会失败,因为它包含了两次 value1。并且在data2 中应该通过或匹配,因为它不包含任何重复值。
这是我匹配每个值但不确定如何检查重复的结果。
^[-\w\s]+(?:,[-\w\s]*)*$
这将匹配分隔符之间的值,但不确定如何检查是否存在重复值。任何帮助都会很棒。
注意-我知道我可以使用 sting 函数和循环来做到这一点,我正在学习 Regex 并想尝试是否可以使用正则表达式。如有疑问,请随时发表评论,因为这是我在 Stack 上的第一个问题。
【问题讨论】:
-
您使用的是什么语言?因为如果表达式编译不正确,可能会导致大量灾难性的回溯。
-
我目前正在尝试使用
Javascript,但最终我也想尝试使用c#/Java语言类型的strct。
标签: regex regex-lookarounds regex-greedy