java如何使用正则表达式限制特殊字符的个数
作者:古柏树下 发布时间:2023-07-25 08:53:50
标签:java,正则表达式,特殊字符,个数
使用正则表达式限制特殊字符的个数
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


猜你喜欢
- --1、为数据库启用SQL Server全文索引EXEC sp_fulltext_database 'enable'--2、
- 使用export default导出class类首先我们要创建一个类并导出class win { getProcessInfo(
- 目录1.python中的异常2.捕捉异常try-except多个except子句 一个except块捕捉多个异常 空ex
- 使用python中的生成器实现周期性发送列表中数值的报文发送功能。功能开发背景:提取cantest工具采集到的现场报文数据,希望使用原始的现
- 2006-10-8表数据:tab1id name numA  
- 在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明
- 先给大家介绍下python pickle存储、读取大数据量列表、字典的数据针对于数据量比较大的列表、字典,可以采用将其加工为数据包来调用,减
- 1 引言各位朋友大家好,欢迎来到月来客栈。今天要和大家介绍的内容是如何在Pytorch框架中对模型进行保存和载入、以及模型的迁移和再训练。一
- 今天给大家分享一个用原生JS实现的好看计数器,效果如下:以下是代码实现,欢迎大家复制粘贴和收藏。<!DOCTYPE html>&
- 一.安装环境:Linux系统: CentOS 6.3 64位Oracle: Oracl
- 1.数据的增删改查----------增加数据在视图函数中导入User模型类,然后使用下面的方法添加数据:from django.http
- 前言在可视化图形中,很多的节点和连线都有某一个特征或者属于某些分类,为了在使用可视化图形的时候更加直观的看出相同类型节点的集合,我们就会用到
- 1. 首先确认服务器的Federated引擎是否开启show engines;2. 如果Federated 未开启,则需要开启到MySQL的
- 本文实例讲述了python函数形参用法。分享给大家供大家参考。具体如下:函数形参:函数取得的参数是你提供给函数的值,这样函数就可以利用这些值
- 介绍Python模块argparse,这是一个命令行选项,参数和子命令的解释器,使用该模块可以编写友好的命令行工具,在程序中定义好需要的参数
- 前言VScode是一个相当优秀的IDE,具备开源、跨平台、模块化、插件丰富、启动时间快、颜值高、可高度定制等等优秀的特质,不愧是微软爸爸的私
- 设计师不等于美工设计无所不在,但大多数企业不知道如何使用它。现代设计进入中国大概是二十多年的时间,而在国外,尤其在美国在欧洲,大概有一百年的
- 强大的group by 代码如下:select stdname, isnull(sum( case stdsubject whe
- 前言最近碰到了照片识别的场景,正好使用了face_recognition项目,给大家分享分享。face_recognition项目能做的很多
- 问题描述:为了把之前的CPU版本的tensorflow卸载,换成GPU版本的tensorflow,经历了一番折腾。BUG1 Could no