我正在尝试使用以下正则表达式验证 Java 中的字符串以查看它是否与 randomUUID 格式匹配
^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$
现在这可以正常工作并提取无效字符串等等 - 但是,如果我将空字符串传递给正则表达式,它会返回 true,因此当我对 Pattern 注释执行验证时,不会报告任何约束违规。这是预期的行为,因为 String 为 null 它没有执行任何验证?
作为解决这个问题的一种方法,在我用 Pattern 注释注释的 getter 方法上,我使用了这个
return id != null ? id : "null"
这行得通,但它似乎有点......对我来说很hacky :)