2007-07-30
Java rexexp Pattern
关键字: use Pattern
匹配一个6位长度的code,
要求如下:
// first pos: A-Z but not 'O' [A-N|P-Z]{1}[1-9]{4}
// second pos: 1-9 第2位为阿拉伯数字1-9
//third to fifth: 0-9 第3-5位为三位阿拉伯数字不满三位的前面补零,
关于长度我门可以使用^ 开始,$结尾来约束:
final String patStr = "^[A-N|P-Z]{1}[1-9]{1}[0-9]{3}$";
使用这个regexp表达试,后三位可以是000,如果最后以为不能为0则需要使用:
final String patStr = "^[A-N|P-Z]{1}[1-9]{1}[0-9]{2}[1-9]{1}$"
在程序上我们可以借助matcher 和find方法来验证是否合法:
public boolean validateCode(String str1){
if(StringUtils.isEmpty()){
return false
}
return Pattern.compile(patStr).matcher(str1).find();
}
这里需要注意的是使用matcher方法时如果传递进来的str1为null则会报NullPointer异常,这是需要注意的地方。
要求如下:
// first pos: A-Z but not 'O' [A-N|P-Z]{1}[1-9]{4}
// second pos: 1-9 第2位为阿拉伯数字1-9
//third to fifth: 0-9 第3-5位为三位阿拉伯数字不满三位的前面补零,
关于长度我门可以使用^ 开始,$结尾来约束:
final String patStr = "^[A-N|P-Z]{1}[1-9]{1}[0-9]{3}$";
使用这个regexp表达试,后三位可以是000,如果最后以为不能为0则需要使用:
final String patStr = "^[A-N|P-Z]{1}[1-9]{1}[0-9]{2}[1-9]{1}$"
在程序上我们可以借助matcher 和find方法来验证是否合法:
public boolean validateCode(String str1){
if(StringUtils.isEmpty()){
return false
}
return Pattern.compile(patStr).matcher(str1).find();
}
这里需要注意的是使用matcher方法时如果传递进来的str1为null则会报NullPointer异常,这是需要注意的地方。
评论
anweixiao
2007-11-03
补充使用ORO实现恰好的关键:
如果在定义正则表达式的时候如果要涉及到“恰好”的限制,^和$将会很有帮助:
比如:
检测一个字符串恰好有0或者一个0-1的数字组成;
检测一个字符串恰好有a-z的字符组成,长度不能超过10
象这样的要求我们可以使用^you need$来定义一个明确的以什么开始,以及什么结束的规则来做限制:
^\\d+$ 可以匹配"","1","3",但不匹配"11","1a";
^[a-z]{1,10}$ 可以匹配"a","abcdefghij";但不匹配"123";
如果在定义正则表达式的时候如果要涉及到“恰好”的限制,^和$将会很有帮助:
比如:
检测一个字符串恰好有0或者一个0-1的数字组成;
检测一个字符串恰好有a-z的字符组成,长度不能超过10
象这样的要求我们可以使用^you need$来定义一个明确的以什么开始,以及什么结束的规则来做限制:
^\\d+$ 可以匹配"","1","3",但不匹配"11","1a";
^[a-z]{1,10}$ 可以匹配"a","abcdefghij";但不匹配"123";
发表评论
- 浏览: 77449 次
- 性别:


- 详细资料
搜索本博客
我的相册
DSC_0341
共 4 张
共 4 张
最近加入圈子
最新评论
-
关于form使用form.submit( ...
不错 怎么会出现这样的情况 我不大明白
-- by chgl_chenganglin -
Hibernate中LockMode 在 ...
gtrdhg 引用 [img][/img][url][/url][fl ...
-- by skydongtang -
Hibernate中LockMode 在 ...
[color=red][/color]
-- by skydongtang -
safari 3 public beta版本 ...
safari看英文还是很舒服的
-- by cuiyi.crazy -
Hibernate中使用Annotati ...
还有没有其他操作方式
-- by huangyy






评论排行榜