请哪位帮忙写一个正则表达式,匹配4位长的整数,但不能包括0000.
即匹配0001-9999之间所有的字符串.
即匹配0001-9999之间所有的字符串.
解决方案 »
- Math类及日期类的复习代码
- 求助!如何用Java编写一个栈
- 一道画图作业题,搞了好久不行,救命啊~~
- (求解)编写一个函数,把一个char(1 char=16bits) 分解成连个byte(1byte=8bits)。
- java采用Unicode编码。也就是两字节,可是为何存成文件时变成四字节
- 我的毕业论文不合格
- 第一次提问,怎样编译 a.java?
- 一个关于server socket factory的问题
- 帮忙将这棵树加上滚动条!(付代码)
- 请推荐几个jbuilder的心得网站或资料
- 怎样可以让JTextField上怎样实现TextListener()里的textValueChanged(TextEvent e)方法;
- 脆地狂求答案........各位快来帮帮忙,很及的...........
String p="[0-9]{3}[1-9]{1}";
Pattern pp=Pattern.compile(p);
Matcher m=pp.matcher(src);
int j=0;
while(m.find(j)){
System.out.println(m.group());
j=m.start()+1;
}
}
下面这个可以,但是有点笨
String p="([0-9])([0-9])([0-9])([0-9])";
Pattern pp=Pattern.compile(p);
Matcher m=pp.matcher("00001234567891000");
int j=0;
int g1,g2,g3,g4;
while(m.find(j)){
g1=Integer.parseInt(m.group(1));
g2=Integer.parseInt(m.group(2));
g3=Integer.parseInt(m.group(3));
g4=Integer.parseInt(m.group(4));
if(g1+g2+g3+g4!=0)
System.out.println(m.group());
j=m.start()+1;
}
<script language="JavaScript" type="text/javascript">
function isDigit(sDigit)
{
//参数必须为一个
if (arguments.length != 1) return false
//判断格式的正则表达式
var rex =/^(\d{1})(\d{1})(\d{1})(\d{1})$/
var m = rex.exec(sDigit);
if (m == null) return false;
var D_F, D_S, D_T,D_FO
D_F = parseFloat(m[1])
D_S = parseFloat(m[2])
D_T=parseFloat(m[3])
D_FO=parseFloat(m[4])
//判断是否0000
if ((D_F+D_S+D_T+D_FO)==0){
return false
}
return true
}
</script>
String regex = "^(?!0000)\\d{4}$";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(s);
if (m.matches()) {
System.out.println(m.group());
}