⏹参考资料:
⏹正则参考网站:
目录
一. JS清除所有数字
"全部总金额4500元".replace(/\d/g,"");
// 全部总金额元
replaceAll()
也可以通过正则表达式实现上述效果,
但无论是replace()
还是replaceAll()
在书写正则表达式的时候都必须添加g
这个全局标识符,
否则会报错.
二. JS仅保留数字
"全部总金额4500元".replaceAll(/[^0-9]/g, "");
// 4500
三. 匹配以T或M或J开头的字符串
import java.util.regex.Pattern;
// Pattern.CASE_INSENSITIVE: 不区分大小写
Pattern pattern1 = Pattern.compile("^[TMJ].*", Pattern.CASE_INSENSITIVE);
boolean matches1 = pattern1.matcher("j001001").matches();
System.out.println(matches1); // true
四. 匹配以指定字符开头的字符串
import java.util.regex.Pattern;
Pattern pattern2 = Pattern.compile("^订单.*");
boolean matches2 = pattern2.matcher("订单001").matches();
System.out.println(matches2);
五. 匹配不以指定字符开头的字符串
import java.util.regex.Pattern;
Pattern pattern3 = Pattern.compile("^(?!订单).*");
boolean matches3 = pattern3.matcher("退单001").matches();
System.out.println(matches3);
六. 匹配指定后缀结尾的字符串
import java.util.regex.Pattern;
// 后缀(结尾)只能是jpg或bmp或png格式
Pattern pattern4 = Pattern.compile("(.*)(.jpg|.bmp|.png)$");
boolean matches4 = pattern4.matcher("测试图片.jpg").matches();
System.out.println(matches4);
七. 匹配指定长度的字符串
import java.util.regex.Pattern;
// 长度为6的字符串
Pattern pattern5 = Pattern.compile("^.{6}$");
boolean matches5 = pattern5.matcher("123四五六").matches();
System.out.println(matches5);
// 最少长度为6的字符串
Pattern pattern6 = Pattern.compile("^.{6,}$");
boolean matches6 = pattern6.matcher("123四五六7").matches();
System.out.println(matches6);
八. 不含指定的单词
不包含abc
const pattern = /\b((?!abc)\w)+\b/;
pattern.test("vbc"); // true
pattern.test("abc"); // false
pattern.test("abc你好"); // false
pattern.test("你abc好"); // false