首页 > 其他分享 >正则表达式

正则表达式

时间:2024-02-24 16:44:18浏览次数:21  
标签:username String 正则表达式 matcher static password

 

介绍:一个简单的 Java 正则工具类,其中包含了对用户名和密码的正则表达式。

 

  要求:用户名的正则表达式:4至8位,只能为单独的英文或中文(中文的话为四位)。

     密码的正则表达式:6至12位,包含字母、数字、特殊字符。

public class RegexUtil {

        // 用户名的正则表达式:4至8位,只能为单独的英文或中文(中文的话为四位)
        private static final String USERNAME_REGEX = "^[a-zA-Z]{4,8}|[\\u4E00-\\u9FA5]{4}$";

        // 密码的正则表达式:6至12位,包含字母、数字、特殊字符
        private static final String PASSWORD_REGEX = "^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#$%^&*()_+\\-={}\\[\\]:;\"'<>,.?/\\\\]).{6,12}$";

        // 检查用户名是否匹配正则表达式
        public static boolean checkUsername(String username) {
            Pattern pattern = Pattern.compile(USERNAME_REGEX);
            Matcher matcher = pattern.matcher(username);
            return matcher.matches();
        }

        // 检查密码是否匹配正则表达式
        public static boolean checkPassword(String password) {
            Pattern pattern = Pattern.compile(PASSWORD_REGEX);
            Matcher matcher = pattern.matcher(password);
            return matcher.matches();
        }

        public static void main(String[] args) {
            // 测试用户名
            String[] usernames = {"abcd", "abcd123", "abcdABCD", "abcd中文", "abcd12中文", "java@zhanmusi", "Hello,World", "张三", "二零二四"};
            for (String username : usernames) {
                System.out.println(username + " is valid: " + checkUsername(username));
            }

            // 测试密码
            String[] passwords = {"abc123", "abc@123", "abc123ABC", "abcABC@123", "abc"};
            for (String password : passwords) {
                System.out.println(password + " is valid: " + checkPassword(password));
        }
    }
}

 

标签:username,String,正则表达式,matcher,static,password
From: https://www.cnblogs.com/warmNest-llb/p/18031247

相关文章

  • idea正则表达式ctrl+R替换
    正则表达式进行查找替换在idea上ctrl+F查找时,可以用类似label="(.*?)"来匹配所有label和其等于的值:注意得选中后面的".*"这是一个正则表达式的匹配:(.*?)用一对括号捕获组——捕获组可以提取双引号中的实际值.匹配任何字符,*出现任意次数,?表示......
  • python正则表达式之
    1.Match从字符串起始位置开始匹配,两个参数(正则表达式,字符串).*代表匹配前面的字符无限次content='Hello1234567World_ThisisaRegexDemo'#通用匹配result=re.match('^Hello.*Demo$',content)print(result)print(result.group())print(result.span())贪婪......
  • 正则表达式常用,自我总结
    经典实例:[1]+$由26个字母组成的字符串[2]+$由26个字母和0到9数字组成的字符串^-?\d+$整数形式字符串(复数前面有"-"号)[3][1-9][0-9]$正整数形式字符串[1-9]\d{5}中......
  • vue3 ts用正则表达式校验两位小数和校验整数的方法
    <el-col:span="12"><el-form-itemlabel="贷款金额"prop="loanAmount"><el-input-numberv-model="props.loanAmount":min="0"@change="checkIntegerNumber('loanAmount')"controls......
  • 史上最全正则表达式
    校验数字的表达式1.数字:^[0-9]*$2.n位的数字:^\d{n}$3.至少n位的数字:^\d{n,}$4.m-n位的数字:^\d{m,n}$5.零和非零开头的数字:^(0|[1-9][0-9]*)$6.非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7.带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$......
  • JAVA基础-正则表达式
    1,正则表达式  正则表达式,又称规则表达式,(RegularExpression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用......
  • safari浏览器正则表达式兼容问题
    发现问题解决问题1、正则格式不对2、IOS,MAC不支持零宽断言 发现问题在开发过程中难免会使用正则表达式来匹配或替换一些文本(字符串),原本以为在不同的浏览器,正则表达式是一样的。然而在实际开发测试中却遇到了问题。一般正则表达式使用的谷歌浏览器,火狐浏览器都正常,而在safari浏......
  • Java中正则表达式(regex)匹配多行(Pattern.MULTILINE和Pattern.DOTALL模式)
    ​ Java中,正则表达式(regex)的处理是通过Pattern类实现的。Pattern类提供了多种标志(flags)来修改正则表达式的行为。其中,Pattern.MULTILINE和Pattern.DOTALL是两个常用的模式,它们分别用于处理多行文本和让.匹配包括行终止符在内的任意字符。 参考文档:Java中正则表达式(regex)匹......
  • day28_正则表达式
    通配符linux命令行里,提取系统中的文件名信息的文件文件的名字文件内的数据关于学习正则正则表达式这个知识点的学习,在于先学习正则符号的意义,以及如何使用正则提取你需要的数据。它不像linux的命令,有一些固定的含义,也不像服务搭建,有固定的流程。因此你要做的就是把......
  • 正则表达式与正则可视化工具:解密文本处理的利器
    引言在计算机科学和软件开发领域,正则表达式是一种强大而灵活的文本处理工具。然而,对于初学者来说,正则表达式的语法和规则可能会显得晦涩难懂。为了帮助初学者更好地理解和学习正则表达式,正则可视化工具应运而生。本文将介绍正则表达式的基本概念、语法和应用,并介绍如何利用正......