
利用正则表达式可以执行更加复杂的字符串的拆分、验证、替换等 *** 作
不使用正则表达式验证字符串
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条)