验证匹配是否合法
public static void strMatch() {
String phone = "13539770000";
//检查phone是否是合格的手机号(标准:1开头,第二位为3,5,8,后9位为任意数字)
System.out.println(phone + ":" + phone.matches("1[358][0-9]{9,9}")); //true
String str = "abcd12345efghijklmn";
//检查str中间是否包含12345
System.out.println(str + ":" + str.matches("\\w+12345\\w+")); //true
System.out.println(str + ":" + str.matches("\\w+123456\\w+")); //false
}
去除两端指定字符”*”
public static void main(String[] args){
String test= "***abdaf*ksjhfkas*jhsdf**";
String regex ="^\\*+(.*?)\\*+$";
System.out.println(getString(test,regex));
}
public static String getString(String str,String regex){
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
String getStr = null;
if(m.find()){
getStr= m.group(1);
return getStr;
}
return getStr;
}
匹配获取特定子串
public static void main(String[] args) {
String str = "rrwerqq84461376qqasfdasdfrrwerqq84461377qqasfd" +
"asdaa654645aafrrwerqq84461378qqasfdaa654646aaasdf";
String rgex = "qq(.*?)qq";
getStrings(str,rgex); //用正则表达式获取指定字符串内容中的指定内容
}
private static void getStrings(String str ,String rgex) {
Pattern p = Pattern.compile(rgex);
Matcher m = p.matcher(str);
ArrayList<String> strs = new ArrayList<String>();
while (m.find()) {
strs.add(m.group(1));
}
for (String s : strs){
System.out.println(s);
}
}