java - 正则表达式模式在 Java 中抛出 PatternSyntaxException
问题描述
我有一个正则表达式模式,它检查与模式匹配的证书中的客户端身份验证域名。但是它抛出了模式语法异常。
我使用的模式如下:
^(?!\s)([a-zA-Z0-9.-\s]{1,128})$
例外是索引 21 附近的无效字符范围。我想它是针对范围内的 -/s 的。有没有办法改变正则表达式模式?我可以在字符范围的开头使用 -/s 吗?帮助将不胜感激。
解决方案
-
如果你想匹配它,你只需要转义符号。所以正确的正则表达式如下所示:
^(?!\s)([a-zA-Z0-9.\-\s]{1,128})$
当您想学习和构建您的正则表达式时,我建议您使用众多在线可用的正则表达式工具之一。