java正则表达式简单使用
String email = "13072558368";
email = email.replaceAll("(\\d{3})\\d{6}(\\d{2})", "$1****$2");
System.out.println("email=" + email);

判断数据范围是0到1的小数
package com.java.test.data.type;
import lombok.extern.slf4j.Slf4j;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @Description:
* @Author: Yourheart
* @Create: 2022/11/4 13:52
*/
@Slf4j
public class DataTypeDemo {
public static void main(String[] args) {
String regex = "^[+]?[0]+\\.[0-9][0-9]";
Pattern p2 = Pattern.compile(regex);
String a = "0.23";
Matcher m = p2.matcher(a);
if (m.matches()) {
Float num = Float.valueOf(a);
log.info("num:{}",num);
} else {
log.info("不是0到1的小数");
}
}
}





[1-9] :匹配1~9的数字; \d :匹配数字,包括0~9; * :紧跟在 \d 之后,表明可以匹配零个及多个数字; \. :匹配小数点; ? :紧跟在 \. 之后,表明可以匹配零个或一个小数点; 0 :匹配一个数字0;
正负整数的正则表达式:"^[+-]?[0-9]+" 正负小数的正则表达式:"^[+-]?[0-9]+\\.[0-9]+" 整数位为1位有效数字的小数,即大于0且小于10的小数:"(^[-+]?[0-9]\\.[0-9]*[1-9]$)"
校验数据是0到1的范围,同时包含0到1,兼容0.0和1.0的形式
package com.java.test;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexTest {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<String>();
arrayList.add("测试");
arrayList.add("&");
arrayList.add("1.2");
arrayList.add("0.3");
arrayList.add("0");
arrayList.add("1");
arrayList.add("-1");
arrayList.add("-0.1");
arrayList.add("0.999");
arrayList.add("0.756");
arrayList.add("0.35");
arrayList.add("0.68");
arrayList.add("0.0");
arrayList.add("1.0");
for(String str: arrayList) {
String regex = "(^[+]?[0]+\\.[0-9]+)|(^[+]?[0])|(^[+]?[1])|(^[+]?[0]+\\.[0])|(^[+]?[1]+\\.[0])";
Pattern p2 = Pattern.compile(regex);
Matcher m = p2.matcher(str);
boolean matches = m.matches();
System.out.println("校验"+str+"的结果:"+matches);
}
}
}
浙公网安备 33010602011771号