利用正则表达式可以执行更加复杂的字符串的拆分、验证、替换等 *** 作
不使用正则表达式验证字符串
public class Hello { public static void main(String[] args) { String s="123a"; boolean flag = true; //将字符串转换为字符数组 char c[] = s.toCharArray(); for(int i=0;i'9') { flag = false; break; } } if(flag){ System.out.println("字符串由数字构成"); }else { System.out.println("字符串不是由数字构成"); } } }
使用正则表达式验证字符串
import java.util.regex.Pattern; public class Hello { public static void main(String[] args) { String s="123456"; if(Pattern.compile("[0-9]+").matcher(s).matches()){ System.out.println("字符串由数字构成"); }else { System.out.println("字符串不是由数字构成"); } } }
“[0-9]+”是正则表达式的匹配字符,表示由1个以上的数字组成
正则表达式 *** 作类需要通过Pattern和Matcher两个类完成 *** 作的
Pattern类的主要作用是进行正则规范
Matcher类主要是执行规范,验证一个字符串是否符合其规范
数量
逻辑运算符
验证日期
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Hello { public static void main(String[] args) { String s="2023年01月23日"; if(Pattern.compile("\d{4}年\d{2}月\d{2}日").matcher(s).matches()){ System.out.println("是日期"); }else { System.out.println("不是日期"); } // 方式二 Pattern p = Pattern.compile("\d{4}年\d{2}月\d{2}日"); Matcher m = p.matcher(s); if(m.matches()){ System.out.println("是日期"); }else { System.out.println("不是日期"); } } }使用正则表达式规则替换字符
除了数字其他全部替换成+
import java.util.regex.Matcher; import java.util.regex.Pattern; public class Hello { public static void main(String[] args) { String s ="ghj45fghj5g2t66h2g5g5h55fg8f7g7"; Pattern p = Pattern.compile("\D+"); Matcher m = p.matcher(s); String a = m.replaceAll("+"); System.out.println(a); } }String类的正则支持方法
public class Hello { public static void main(String[] args) { String s ="ghj45fghj5g2t66h2g5g5h55fg8f7g7"; String a = s.replaceAll("\D+","+"); System.out.println(a); String b[] = s.split("5+"); for(String x : b){ System.out.print(x+" "); } } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)