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); } } }