更多Java 正则知识参见: https://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html
Java中使用正则很简单,主要分两步进行:
1,涉及的类,需要引入如下两个正则相关的类
import java.util.regex.Matcher;
import java.util.regex.Pattern;
2,定义正则匹配模式,编译,进行匹配操作和匹配结果使用
//(1), String xchar = "123"; //将进行匹配的变量
//(2), String numCharPattern = "[0-9]"; //正则匹配模式
//(3), Pattern pattern = Pattern.compile(numCharPattern); //编译正则
//(4), Matcher mat = pattern.matcher(xchar); //进行匹配操作
//(5), if(mat.find()){ //匹配结果使用,符合正则模式则返回true,否则返回false
// System.out.println("符合正则匹配");
// }else{
// System.out.println("不符合 正则匹配");
// }
如下常用例子:
package com.gc.fun;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* The class GlobalFuns. supply the global function to use.
*
* @author: shenzhenNBA
* @since: 2013-02-01
* @version: $Revision$ $Date$ $LastChangedBy$
*
*/
public class GlobalFuns {
public static boolean isNumberChar(String value) {
//function: to check all value is number char or not
//true = all is only number char,
//false = not all are number char
boolean tag = true;
String numCharPattern = "[0-9]";
Pattern pattern = Pattern.compile(numCharPattern);
char[] chars = value.toCharArray();
for (char c : chars) {
Matcher mat = pattern.matcher(String.valueOf(c));
if (!mat.find()) {
tag = false;
}
}
return tag;
}
public static boolean isLetterChar(String value) {
//function: to check all value is letter char or not
//true = all char is range of [a-zA-Z];
//false = at lest one char is out of char range[a-zA-Z]
boolean tag = true;
String numCharPattern = "[a-zA-Z]";
Pattern pattern = Pattern.compile(numCharPattern);
char[] chars = value.toCharArray();
for (char c : chars) {
Matcher mat = pattern.matcher(String.valueOf(c));
if (!mat.find()) {
tag = false;
break;
}
}
return tag;
}
public static boolean isNumberLetterUnderlineMinusChar(String value) {
//function: to check all value is range of [0-9a-zA-Z_-] or not
//true = all char is range of [0-9a-zA-Z_-](number or letter or underline or minus);
//false = at lest one char is out of char range[0-9a-zA-Z_-]
boolean tag = true;
String numCharPattern = "[0-9a-zA-Z_-]";
Pattern pattern = Pattern.compile(numCharPattern);
char[] chars = value.toCharArray();
for (char c : chars) {
Matcher mat = pattern.matcher(String.valueOf(c));
if (!mat.find()) {
tag = false;
break;
}
}
return tag;
}
public static boolean isLegalEmail(String email) {
//function: to check param email is legal or not
//true = is legal eamil address
//false = not legal email address
boolean tag = true;
String emailPattern ="^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$";
Pattern pattern = Pattern.compile(emailPattern);
Matcher mat = pattern.matcher(email);
if (!mat.find()) {
tag = false;
}
return tag;
}
public static boolean isNumberLetterChar(String value) {
//function: to check value is range of [0-9a-zA-Z] or not
//true = all char are range of range [0-9a-zA-Z]
//false = at least one char is out of range [0-9a-zA-Z]
boolean tag = true;
String numCharPattern = "[0-9a-zA-Z]";
Pattern pattern = Pattern.compile(numCharPattern);
char[] chars = value.toCharArray();
for (char c : chars) {
Matcher mat = pattern.matcher(String.valueOf(c));
if (!mat.find()) {
tag = false;
}
}
return tag;
}
//can expand here
}
只要继承该类,即可直接使用已有的数字,字母,数字字母,email等验证功能,方便快速使用。