首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

这个正则表达式如何写哈?多谢了

2012-03-11 
这个正则表达式怎么写哈?谢谢了!一串字符串如1,2,3,4或者 1,2,3,4或者 1,2,3,4或者 1,2,3,4,像这样的,要求

这个正则表达式怎么写哈?谢谢了!
一串字符串
如 1,2,3,4
或者 1,2,3,4
或者 1,2,3,4
或者 1,2,3,4,

像这样的,要求 必须以数字开始,重复数字无限定
以非字符,或者,隔开 最后允许多一个或者不多逗号
每个数字必须以非数字字符隔开
最好用逗号隔开

暂时不考虑这样的隔开法
1@2@3¥4
或者1a2b3c4

谢谢各位了

[解决办法]
你看这个是你要的不,我也是刚学的
[\\d\\s*\\,?]+
[解决办法]
(\\d{1}[,,])+[,,]?
这个应该可以,我在自己机器上试过了。
[解决办法]
str = str.replaceAll("(?<=\\d)(?=\\d)", ",");
[解决办法]
只判断了匹配

Java code
String[] s = { "1,2,3,4", "1,2,3,4", "1,2,3,4", "1,2,3,4," };for (int i = 0; i < s.length; i++) {    System.out.println(s[i].matches("(\\d[,,])+(\\d[,,]?)?"));}
[解决办法]
上面的那个有 bug,改进一下:

Java code
public class Test {    public static void main(String[] args) {        String[] s = { "1,2,3,4",                "1,2,3,4",                 "33",                 "1,2,3,4",                "1,2,3,4,",                "1,3,4,5,6,7,8,9,1000,"            };        String pattern = "(?:\\d(?!\\d)[,,]?)+";        for (int i = 0; i < s.length; i++) {            System.out.println(s[i] + " " + s[i].matches(pattern));        }    }}
[解决办法]
Java code
str.matches("(\\d+\\W+?)+")
[解决办法]
探讨
Java codestr.matches("(\\d+\\W+?)+")

热点排行