首页 > 解决方案 > 正则表达式模式在 Java 中抛出 PatternSyntaxException

问题描述

我有一个正则表达式模式,它检查与模式匹配的证书中的客户端身份验证域名。但是它抛出了模式语法异常。

我使用的模式如下:

^(?!\s)([a-zA-Z0-9.-\s]{1,128})$

例外是索引 21 附近的无效字符范围。我想它是针对范围内的 -/s 的。有没有办法改变正则表达式模式?我可以在字符范围的开头使用 -/s 吗?帮助将不胜感激。

标签: javaregexspring-boot

解决方案


-如果你想匹配它,你只需要转义符号。所以正确的正则表达式如下所示:

^(?!\s)([a-zA-Z0-9.\-\s]{1,128})$

当您想学习和构建您的正则表达式时,我建议您使用众多在线可用的正则表达式工具之一。


推荐阅读