2000年3月22日星期三

Java正则表达式程序

package util.regularexpression.com;

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class ComFunc {

public boolean isFloat(String valueStr, int intLen, int docLen) {
// Create a pattern
String patternStr = "^\\d{1," + intLen + "}(\\.\\d{1," + docLen + "})?$";

Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(valueStr);
return m.find();
}

// email
public boolean isEmail(String valueStr) {
// Create a pattern
String patternStr = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z_-]+)+$";

Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(valueStr);
return m.find();
}

// ip
public boolean isIp(String valueStr) {
// Create a pattern
String patternStr = "^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])(\\.(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])){3}$";

Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(valueStr);
return m.find();
}

// date like yyyy-mm-dd
public boolean isDate(String valueStr) {
// Create a pattern
String patternStr = "^\\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\\d|3[0-1])$";

Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(valueStr);
return m.find();
}

// data like 12345 or 12345-1234
public boolean dataCheck1(String valueStr) {
// Create a pattern
String patternStr = "^\\d{5}(-\\d{4})?$";

Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(valueStr);
return m.find();
}

// data like 0110
public boolean dataCheck2(String valueStr) {
// Create a pattern
String patternStr = "^(\\d)(\\d)\\2\\1$";

Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(valueStr);
return m.find();
}

// a-z 5 bit eg(adgke)
public boolean isSmallChar(String valueStr, int len) {
// Create a pattern
String patternStr = "^[a-z]{" + len + "}$";

Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(valueStr);
return m.find();
}

// a-z 5 same bit eg(ddddd)
public boolean isSameSmallChar(String valueStr, int len) {
// Create a pattern
String patternStr = "^([a-z])\\1{" + --len + "}$";

Pattern p = Pattern.compile(patternStr);
Matcher m = p.matcher(valueStr);
return m.find();
}

public String replaceWord(String valueStr) {
String strSt = "([0-9]) +";
String strEd = "\\1,";

// Create a pattern
Pattern p = Pattern.compile(strSt);
Matcher m = p.matcher(valueStr);

StringBuffer sb = new StringBuffer();
boolean result = m.find();
while (result) {
m.appendReplacement(sb, strEd);
result = m.find();
}
// Add the last segment of input to the new String
m.appendTail(sb);
return sb.toString();
}
}

没有评论:

发表评论