我要写一个字符串的正则表达式,要求如 "1,2,3,4,5,6,7" 里面只可以出现1-7数字,而且他们不可以重复,可出现1至7个数字,每个数字后面跟个逗号,最后一个不要,应该怎么写,请大家告知!谢谢
解决方案 »
- 关于set.toArray
- 记事本的保存功能怎么用JAVA实现(请不要把另存为的功能看成和保存功能一样)
- linux下编译转换到windows
- Java与MySQL连接的问题!
- java里面输入输出流的一个乱码问题
- 怎么才能使一个.java文件在jbuilder中得到编译通过并运行??
- 求大神言简意赅的解释下几行代码
- 对象数组排序问题;高手看看!问题出在哪?
- How to get the result of a expression(String)??
- 大佬求助 JAVA静态数组初始化 这个鬼样子我真受不了了……
- JAVA方法里面定义内部类改如何访问?
- java中dialog对话框显示不出来?
为了处理完整的字符
主要就是这个。。
思路就是比如判断不重复的单数
/^(?!.*(\d).*\1)\d+/ //下文叫它p1这个就是思路。。不过因为它有分割符号和开始结束符号,所以需要判断的多了一点/^\((?!(?:\d+[,)]|,\d+[,)])*(\d+)(?:,\d+(?=[,)]))*,\1[,)])\d+(?:,\d+)*\)$/.test(arguments[0]);
拆分下。。判断重复
(?!(?:\d+[,)]|,\d+[,)])*(\d+)(?:,\d+(?=[,)]))*,\1[,)])
校验正确
/^\(判断重复\d+(?:,\d+)*\)$/.test(arguments[0]);判断重复里
(?:\d+[,)]|,\d+[,)])*
这个好比
p1里的开头那段.*
(\d+)(?:,\d+(?=[,)]))*,\1[,)])
这个好比p1里的(\d).*
后面同理[,)]
加这个主要就是为了检查字符完整。。
否则会出现
1,13
这种bug
帮忙找找这个正则的缺陷