使用正则表达式对由逗号分隔的字符串进行唯一检查

时间:2018-01-15 15:13:42

标签: java regex regex-group

所以我试图想出一个完美的正则表达式,用于检查由逗号分隔的一组预定义字符串而不重复。目前我已经能够实现这个

^((IN|THE|BUSH|COM|NET|ALL)\s*[,]{0,1}\s*)+$

除了不检查唯一值

之外,它的工作原理很好

示例是“IN,THE,COM”,没有引号 这是一种正确的格式

但是这个不正确

“IN,COM,THE,COM”

我需要一个与java一起使用同一任务的正则表达式

1 个答案:

答案 0 :(得分:0)

也许您可以使用此正则表达式使用否定前瞻(?!.*\1)检查以下内容是否不是第一组中捕获的内容\1

^(?:(IN|THE|BUSH|COM|NET|ALL)\h*,?\h*(?!.*\1))+$