在项目中,经常需要对外界获取的数据进行合法性处理,最实用的也是最简单的就是利用正则表达式解决此等问题。
1.处理数字
/**
* 判断传入的参数是否为纯数字字符串
* @param str 传入参数
* @return
*/
public boolean isNum(String str){
Pattern pattern=Pattern.compile("[0-9]*");//将正则表达式编译
Matcher matcher=pattern.matcher(str);//创建一个匹配该模式的Matcher对象
boolean b=matcher.matches();//与字符串进行匹配
return b;
}
2.处理是否为纯字母也是很简单的,若想获得所有大小写的字母只需要将正则表达式改为"[A-z]*"。
3.字符替换
Pattern pattern=Pattern.compile("c");
Matcher matcher=pattern.matcher("I like c ,I love c++");
StringBuffer sb=new StringBuffer();
while(matcher.find()){
matcher.appendReplacement(sb,"Java");
}
matcher.appendTail(sb);
运行结果:
I like Java ,I love Java++
在网络爬虫中,正则表达式起到了一定的帮助!以上仅仅只是前戏,读者若还想了解更多关于正则表达式,请继续往下看哦!
常用正则表达式:
. 任意字符
* 0次到多次 ,相当于{0,}
+ 1次到多次
? 0次或1次
{n} n次
{n,} 至少匹配n次
{n,m} 至少匹配n次且最多m次
(未完待续......)