java如何使用正则表达式限制特殊字符的个数

作者:古柏树下 时间:2023-07-25 08:53:50 

使用正则表达式限制特殊字符的个数


package com.l.dubbo.service;
import java.util.HashSet;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ThreadPoolTest {
   public static boolean check1(String context, String regEx) {
       Pattern pattern = Pattern.compile(regEx);
       Matcher matcher = pattern.matcher(context);
       String ss = "";
       String s2 = "";
       boolean flag = true;
       int count = 0;
       //符合正则表达式的子段为特殊符号
       //比较子段是否重复  若重复则特殊符号种类不止一种
       while (matcher.find()) {
           if (count == 0) {
               ss = matcher.group();
//                System.out.println(ss);
           } else {
               s2 = matcher.group();
//                System.out.println(s2);
           }
           if (!(ss).equals(s2) && count > 0) {
               flag = false;
           }
           count++;
       }
//        System.out.println(count);
       return flag;
   }

public static boolean check2(String context, String regEx) {
       Pattern pattern = Pattern.compile(regEx);
       Matcher matcher = pattern.matcher(context);
       boolean flag = false;
       //利用set的元素不能重复,来检查是否只有一种特殊符号
       Set<String> set = new HashSet<String>();
       while (matcher.find()) {
           set.add(matcher.group());
       }
       if (set.size() == 1) {
           flag = true;
       }
       return flag;
   }

public static void main(String[] args) {
       //s1中只包含'!‘一种特殊字符
       String s1 = "dasd!a22!!!!";
       //s2中包含'!‘和'@‘两种特殊字符
       String s2 = "dasd!a22@!!!";
       String regEx = "((?=[\\x21-\\x7e]+)[^A-Za-z0-9])";
       System.out.println(check1(s1, regEx));
       System.out.println(check1(s2, regEx));
       System.out.println(check2(s1, regEx));
       System.out.println(check2(s2, regEx));
   }
}

输出结果

true
false
true
false

Process finished with exit code 0

java判断限定字符的正则

判断答案是否是ABCD的正则


public class Test {
   public static void main(String[] args){
       Pattern pattern = Pattern.compile("^[A-D]+$");
       System.out.println(pattern.matcher("A").find());
       System.out.println(pattern.matcher("E").find());
   }
}

来源:https://gubai.blog.csdn.net/article/details/81083282

标签:java,正则表达式,特殊字符,个数
0
投稿

猜你喜欢

  • 《写给大家看的设计书》阅读笔记之重复原则

    2009-07-12 15:36:00
  • Python自动化办公之Word转PDF的实现

    2022-10-04 05:30:50
  • python中列表添加元素的几种方式(+、append()、extend())

    2022-07-17 19:59:42
  • javascript实现延时显示提示框效果

    2024-04-25 13:10:42
  • 各种Python库安装包下载地址与安装过程详细介绍(Windows版)

    2021-01-27 14:00:05
  • Python 查看list中是否含有某元素的方法

    2023-07-29 21:46:08
  • PHP Session条件竞争超详细讲解

    2023-06-03 12:49:00
  • Gradio机器学习模型快速部署工具quickstart

    2023-06-30 01:09:52
  • 使用Python进行数独求解详解(二)

    2023-02-25 22:33:41
  • MySQL中Nested-Loop Join算法小结

    2024-01-18 14:26:36
  • 默认Web字体样式

    2009-11-24 12:37:00
  • Python numpy.zero() 初始化矩阵实例

    2021-04-06 01:52:46
  • vue使用nprogress加载路由进度条的方法

    2024-05-02 17:02:22
  • 如何创建SQL Server 2000故障转移群集

    2009-02-13 17:18:00
  • python SMTP实现发送带附件电子邮件

    2023-09-29 11:31:54
  • Vue提供的三种调试方式你知道吗

    2024-05-29 22:44:57
  • MYSQL事务的隔离级别与MVCC

    2024-01-20 10:59:48
  • 如何从数据库断开recordset,提高运行速度?

    2009-11-15 20:01:00
  • 使用OpenCV获取图片连通域数量,并用不同颜色标记函

    2023-10-17 19:58:05
  • MySQL分页分析原理及提高效率

    2024-01-20 08:45:09
  • asp之家 网络编程 m.aspxhome.com