我正在寻找一个正则表达式来验证由逗号分隔的一组非重复字符。
给出像ABCD这样的字符集
匹配任何逗号分隔的排列(无重复字符)
有些比赛是:
一个
ç
C,B
B,d
d,B,A,C
有些没有比赛是:
A,A
ABC
D,B,A,B
这可行,但不允许使用逗号:
\b(?!(?:.\B)*(.)(?:\B.)*\1)[ABCD]+\b
答案 0 :(得分:3)
尝试这样的事情符合您的需求:
^(?:([A-D])(?!.*?\1),)*[A-D]$
如果只有一个[A-D]
,前面的那些必须后面跟一个逗号,请先捕获[A-D]
到\1
并检查是否自己后跟一个{{1}}使用了否定lookahead。
答案 1 :(得分:1)