字母(A-Z、a-z)和连字符 (-) 的模式

Pattern for alphabetics (A-Z, a-z) and hyphen (-)

我在 spring mvc 应用程序中使用 bean 验证。 我有一个带有文本字段的表单,它应该只接受字母和连字符(它是可选的,但如果用户输入它,我们应该接受它)。 我试过这个 @Pattern( regexp = "\p{Alpha}*" ) 但只接受字母。 有人有想法吗?

非常感谢

要匹配零个或多个字母或连字符,请使用

@Pattern( regexp = "[\p{Alpha}-]*" )

[...] 是一个字符 class,它匹配 class 中定义的 1 个字符。通过在内部添加 \p{Alpha}- 我们可以匹配字母或连字符,并且由于 * 量词可以有 0 个或更多这样的字符。

如果稍后向 class 添加更多字符,请考虑转义连字符,或者记住始终将其保留在 class.

的末尾