我在使用javax.validation.constraints.Pattern @Pattern验证时遇到了问题。
@Pattern(regexp = "\\p{L}*", message = "Msg")
private String name;
当我尝试输入任何文本时,它都无法工作。
当我使用:
@Pattern(regexp = "[a-zA-Z]*", message = "Msg")
它在处理非拉丁字符方面表现出色。
我在使用javax.validation.constraints.Pattern @Pattern验证时遇到了问题。
@Pattern(regexp = "\\p{L}*", message = "Msg")
private String name;
当我尝试输入任何文本时,它都无法工作。
当我使用:
@Pattern(regexp = "[a-zA-Z]*", message = "Msg")
它在处理非拉丁字符方面表现出色。
Pattern.UNICODE_CHARACTER_CLASS
标志使\p{L}
模式支持Unicode。
启用预定义字符类和POSIX字符类的Unicode版本。
由于你正在使用字符串模式,因此可以使用内联(嵌入式)标志变体(?U)
:
regexp = "(?U)\\p{L}*"
[\\p{L}\\s]*
。 - Wiktor Stribiżewregexp = "(?U)\\p{L} *"
,会怎样? - Wiktor Stribiżew