Pattern类使用

java.util.regex.Pattern 类主要用于字符串的正则表达式匹配,这边做简单介绍.

正则表达式

语法规则

  • {n,m}: 跟在 [] 后面,表示字符串长度范围在 n-m 之间
  • X? 表示 X 字母的数量为 0 个或者 1 个
  • X+ 表示 X 字母的数量大于等于 1 个
  • X* 表示 X 字母的数量为 0 个, 或者 1 个,或者多个
  • \s 表示空格
  • | 表示或
  • . 表示任意字符

示例

人名字符串,由字母和空格组成,且最大长度为50
java实现

@Test
public void testRegex() {
    String content = "asdfjklghwe AAAS 123";
    String pattern = "[a-zA-Z\\s]{1,50}"; // 由字母和空格组成
    // 只是匹配一次
    boolean isMatch = Pattern.matches(pattern, content);

    // 多次匹配
    Pattern p = Pattern.compile(pattern);
    for(int i=0; i<10; i++) {
        Matcher m = p.matcher(content);
        System.out.println(m.matches());
    }
}

js实现,前后需要有斜杠,并用圆括号括起来

function isValidEnName(value) {
    // 只能由字母和空格组成,且长度最大为50
    var objRegExp = /^([\sA-Za-z]{1,50})$/;
    return objRegExp.test(value);
}

总结

对于多个字符串需要匹配的情况,可以先创建一个 Pattern 类对象,这样可以节省很多资源.

参考资料

Java 正则表达式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值