关于页面输入字符串、转义 java.util.regex.PatternSyntaxException Dangling meta character ‘*’ near index 0等异常

Java字符串替换:从反斜杠转义到正则表达式双重转义原理详解 在Java编程中,字符串处理是基础且高频的操作,其中转义字符和正则表达式的正确使用是关键。转义字符(如反斜杠)在源代码、字符串内存和正则表达式三个层面有不同的解析规则,理解这些规则是避免常见错误的前提。正则表达式通过模式匹配提供了强大的文本处理能力,但在Java中使用时需要特别注意双重转义机制,即正则表达式本身的转义规则与Java字符串字面量转义规则的叠加。这一机制在实现字符串替换、模式匹配等功能时具有重要技术价值,能够提升代码的灵活性和表达力,广泛应用于数据清洗、路径格式化、文本解析等场景。本文以字符串替 阅读详情

近期甲方验收项目,各种手段测试层出不穷,用*%&%&%&等特殊字符串在所有输入的地方进行验证,结果就会使页面崩了或者抛出字符串异常,由于正则一直百度,并且所有页面都需要修复感觉很恶心,诸多测试后终于找到适合我且可用的,贴上代码记录

在这里插入图片描述

  • 自定义工具类对关键部位进行检测

public static String PASSWORD_REGEX = "[\\S]{8,}";

    public static String PASSWORD_NUMBER_REGEX = ".*[\\d]+.*";

    public static String PASSWORD_CHARACTER_REGEX = ".*[a-zA-Z]+.*";

    public static String PASSWORD_SPECIAL_REGEX = ".*[^\\da-zA-Z\\s]+.*";

    public static String PASSWORD_CHAR_REGEX = "[`~!@#$%^&*()+=|{}':',\\\\[\\\\].<>/?~!@#¥%……& amp;*()——+|{}【】‘;:”“’。,、?|-]";

	//检测中文字符和标点
            Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]");
            Matcher m = p.matcher(password);
            if (m.find()) {
                flag = false;
            }

    /**
     * 验证密码是否符合格式
     * @param
     * @return
     */
    public static boolean passwordVerification(String password) {
        boolean flag = false;

        if (password.matches(PASSWORD_REGEX)) {
            int i = 0;
            if (password.matches(PASSWORD_NUMBER_REGEX)) {
                i++;
            }
            if (password.matches(PASSWORD_CHARACTER_REGEX)) {
                i++;
            }
            if (password.matches(PASSWORD_SPECIAL_REGEX)) {
                i++;
            }
            if (i > 1) {
                flag = true;
            }
            if(password.matches(PASSWORD_CHAR_REGEX)){
                flag = false;
            }
        }
        return flag;
    }
    public static boolean passwordChar(String password) {
        boolean flag = false;
        if(!password.matches(PASSWORD_CHAR_REGEX)){
            return true;
            }
        return flag;
    }

    /**
     * 验证密码是否<b>不</b>符合格式
     * @param
     * @return
     */
    public static boolean passwordNotVerification(String password) {
        return !passwordVerification(password);
    }


    public static String escapeExprSpecialWord(String password) {

        if (StringUtils.isNotBlank(password)) {
            String[] fbsArr = {"\\","&","$", "(", ")", "*", "+", ".", "[", "]", "?", "^", "{", "}", "|"};
            for (String key : fbsArr) {
                if (password.contains(key)) {
                    password = password.replace(key, "\\" + key);
                }
            }
        }
        return password;
    }

以上代码还可以整合,太懒了也懒得搞了

关于无障碍适配的笔记 针对无障碍兼容性的笔记,针对wcg2.0/2.1 阅读详情

相关推荐

液态神经网络系列(四) | 一条 PyTorch 从零搭建 LTC 细胞

本文详细介绍了如何从零开始用PyTorch实现Liquid Time-constant Networks(LTC)神经元模型。首先将LTC的核心微分方程拆解为输入电导、系统时间常数和数值积分器三个模块,然后逐步构建LTCCell类,包括物理参数初始化、突触参数设置和前向演化过程。文章还展示了如何封装LTCModel处理不规则时间序列,并通过正弦波抗干扰实验验证了LTC模型的优越性。最后讨论了数值稳定性、计算代价等实现细节,并预告了下一篇将探讨使用伴随灵敏度算法优化显存占用的方法。

wyj333333的博客 2063

java.util.regex.PatternSyntaxException: Dangling meta character '?' near index 0特殊字符表达

当字符创中包含了(+、*、|、\、?、^)正则表达式符号,对这个字符串进行分割的时候就会报上述异常,这个时候就需要在你需要分割的那个字符加上 [] 或 \\ 即可 如:String str= "yztb/createDownloadReturnFile2.action?key2=330802196704034461|tz_gaj_cer_052|"; String[] strlist1 = ...

weixin_40873693的博客 1582

电子发票二维码背后的秘密:10分钟看懂校验码、加密字符含义与防伪设计

本文深入解析电子发票二维码的结构与防伪设计,揭示校验码和加密字符的生成原理及验证方法。通过实际案例和技术细节,帮助财务人员理解电子发票的安全机制,提升防伪识别能力,确保税务合规。

weixin_29248611的博客 530

关于java.util.regex.PatternSyntaxException Dangling meta character '*' near index 0解决办法

关于java.util.regex.PatternSyntaxException Dangling meta character ‘*’ near index 0解决办法String s = “x*y”; String[] array = s.split(“*”); 结果报错了,控制台输出报错信息:java.util.regex.PatternSyntaxException Dangling m

a921159963的博客 8429

农经权二轮延包—地块示意图生成

本文介绍了地块示意图制作软件的使用方法及模板制作要点。软件通过设置六个参数(示意图模板、属性数据、地块DBF、导航图、地块图片及存放位置)自动生成Word文档,并可导出PDF。文章详细说明了5页Word模板的制作过程,包括页脚三栏设置和页码插入技巧,支持每户最多28个地块的情况。同时指出该软件生成的图片分辨率(300dpi)满足清晰度要求,并提及软件免费提供插件但收费提供后续服务。

weixin_47364423的博客 1114

Python爬虫实战:5分钟搞定政府网站公开数据抓取(附完整代码)

本文详细介绍了如何使用Python爬虫快速抓取政府网站公开数据,包括环境配置、网站结构分析、请求头构建、数据处理与存储等关键步骤。通过实战案例和完整代码,帮助开发者高效获取结构化数据,适用于数据分析、市场研究等场景。

weixin_29057065的博客 941

java.util.regex.PatternSyntaxException表达式错误异常【JAVA小知识】

这是我从网上摘录的,自己也遇到了同样的错误,在此感谢作者! Java.util.regex.PatternSyntaxException表达式错误异常 String s="/babalaautomgr.ejs?method=constr";     int i=s.split("?").length;     System.out.println(i);

My Blog My Style 7314

Linux运维踩坑实录:手把手教你修复LVM中PV显示[unknown]的诡异问题

本文详细解析了Linux运维中LVM物理卷(PV)显示[unknown]的故障现象及修复方法。通过分析问题根源、提供标准修复流程和特殊场景处理方案,帮助运维人员快速解决VG容量异常、PV状态丢失等问题,并分享预防措施与最佳实践,确保LVM存储系统的稳定运行。

weixin_26869081的博客 348

java异常[java.util.regex.patternsyntaxexception dangling meta character ‘+‘ near index]解决

java异常[java.util.regex.patternsyntaxexception dangling meta character '+' near index]解决。问题出现在加号附近,查询相关的资料显示,+、*、|、\等符号在正则表达示中有相应的不同意义。一般来讲只需要加[]、或是\\即可。

梦想是要有的,万一实现了呢! 1081

全网最强AI辅助课题申报教程!超详细流程拆解,助你快速提高课题申报成功率(附各部分高效提示词)

实验法要详细说明自变量、因变量、实验类型、实验过程、实验步骤、测量工具名称、被试取样方式、无关变量控制方法。这个部分就是让评审专家相信我们有能力把这个项目干成,写的时候要重点突出两块内容:第一是研究基础,包括你或团队在相关领域已有的研究成果,比如发表的论文、承担过的课题、获得过的奖励、相关研究经验等,要具体、有说服力;课题申报专门给我们留了一小节用来突出课题的创新之处,不管是研究角度、研究对象、研究方法,还是应用价值都可以提炼作为我们的创新点,最后的语气成果也要明确具体,且要和课题内容紧密相关。

智能AI让学术科研更容易 665

从Safety Manual到系统安全概念

本文系统阐述了构建功能安全"证据链"的工程化方法论,核心要点包括:1)建立"风险→对策→验证→证据"闭环链条;2)SafetyManual和FMEDA作为关键证据支撑点,前者界定系统安全边界,后者量化诊断覆盖率;3)通过四步法继承芯片安全机制并扩展至系统级;4)形成"设计-分析-验证"三维闭环体系,包括安全目标、技术实现和验证矩阵;5)强调证据链闭环对安全认证和OEM认可的重要性。该方法论实现了从理论要求到工程实践的完整转化,确保安全设计可验证、可

VehSwHwDeveloper的博客 721

【BUG日记】【JAVA】报错 Dangling meta character ‘?‘ near index 0 ?

【日期】: 2020/8/29 【问题】: JAVA报错:Exception in thread “main” java.util.regex.PatternSyntaxException: Dangling meta character ‘?’ near index 0? 【原因】: 使用split方法提取url的参数,字符串中带有某些特殊字符(如:?)时,用直接用该字符分隔字符串成字符数组是不正确的。 String arr = "www.hao123.com?A=a&B=b&am

南方者的博客 1366

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0

使用repalceAll 方法出现java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0异常 代码如下: 1 @Test 2 public void testReplaceAll(){ 3 String sql = "select * from...

weixin_30911809的博客 947

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

(java异常)java.util.regex.PatternSyntaxException: Dangling meta character '+' near index 0

public static void main(String[] args) throws Exception { String test = &amp;amp;quot;-1+-2.3-2+-2&amp;amp;quot;; test = test.replaceAll(&amp;amp;quot;+-&amp;amp;quot;, &amp;amp;quot;-&amp;amp;quot;); Syst

Sirm23333 2万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

[解决办法] Caused by: java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0

原始代码 select regexp_replace(string_data, "\\*+", "%") as new_string from test_tb 报错信息 Caused by: java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 分析过程 因为+、*、|、\等符号在正则...

SYP'S Blog 3717

报错:java.util.regex.PatternSyntaxException Dangling meta character ‘*’ near index 0

split replaceall遇到特殊字符

升级打怪 1013

java特殊字符转义字符_Java正则表达式处理特殊字符转义的方法

正则需要转义字符'$', '(', ')', '*', '+', '.', '[', ']', '?', '\\', '^', '{', '}', '|'异常现象:java.util.regex.PatternSyntaxException: Dangling meta. character '*' near index 0解决方法对特殊字符加\\转义即可。注意:虽然使用[]在部分条件下也可以,但...

weixin_42299778的博客 4821

java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 *&* 解决方法

java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0*&*^ at java.util.regex.Pattern.error(Pattern.java:1924) at java.util.regex.Pattern.sequence(Pattern.java:2090...

weixin_30564901的博客 549

转义字符引发的血案(hive、bash)

hive hql:从一个字符串“p?a?b?c?ppp?hhh”中以?作为分隔符,找第5段字符串 bash程序: test.sh #!/bin/bash hive -e "select (split('p?a?b?c?ppp?hhh','?'))[4]  from a limit 1;"报错:Caused by: java.util.regex.PatternSyntaxException

yfk的专栏 2万+

5-4 Mybatis如何读取xml配置文件?配置文件大小有限制吗?

内容是关于String长度限制的讨论,说明String内部用char数组存储,长度受int最大值限制,但实际可能受限。摘要要简洁。</think>String长度受其内部char数组限制,最大理论值为Integer.MAX_VALUE(约4GB),但实际受JVM内存等约束。源码显示length()返回数组长度,故存在int上限。日常使用不易触及,但大文件需注意。

davidwang456的专栏 164

dangling metacharacter

编辑器提示“dangling meta character”错误,修改示例: 原 str.split("?"); 修改为: str.split("[?]"); 或者 str.split("\\?"); 原因是 $ + - * | / ?^符号在正则表达示中有相应的不同意义。 一般来讲只需要加[]、或是//即可 参考: 特别字符 描述 $ 匹配输入字符串的结尾位...............

Vick C的博客 7109

java.util.regex.PatternSyntaxException表达式错误异常

这是我从网上摘录的,自己也遇到了同样的错误,在此感谢作者!java.util.regex.PatternSyntaxException表达式错误异常String s="/babalaautomgr.ejs?method=constr";    int i=s.split("?")

liucui5201013的专栏 4万+

java开发过程中,报错Dangling meta character '*' near index 0,解决办法

1、split方法转化字符串为数组:      String[] strPicArr = map.get("hw_pic").toString().split("*");      报错:      java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0     

zhouzhiwengang的专栏 10万+

java.util.regex.PatternSyntaxException问题:单斜杠:\ 和星号:*解决方法

java.util.regex.PatternSyntaxException问题

weixin_44740328的博客 1470

java.util.regex.PatternSyntaxException: Dangling meta character '*' near解决

问题重现java.util.regex.PatternSyntaxException: Dangling meta character '*' near index 0 *.log.* ^ at java.util.regex.Pattern.error(Pattern.java:1924) at java.util.regex.Pattern.sequence(P...

maoyuanming0806的博客 6887
上一篇: Java连接MongoDB管道查询慢 记录解决过程
下一篇: java8 快速实现List转map 、分组、过滤等操作
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值