@Pattern 与 Unicode 脚本 \\p{L}* 不工作
@Pattern with Unicode script \\p{L}* doesn't work
我有问题
javax.validation.constraints.Pattern @模式验证。
@Pattern(regexp = "\p{L}*", message = "Msg")
private String name;
当我尝试输入任何文本时,它不起作用。
当我使用:
@Pattern(regexp = "[a-zA-Z]*", message = "Msg")
它适用于非拉丁字符。
您需要使用 Pattern.UNICODE_CHARACTER_CLASS
flag 使 \p{L}
模式识别 Unicode。
Enables the Unicode version of Predefined character classes and POSIX character classes.
由于您使用的是字符串模式,因此您可以使用内联(嵌入式)标志变体,(?U)
:
regexp = "(?U)\p{L}*"
我有问题 javax.validation.constraints.Pattern @模式验证。
@Pattern(regexp = "\p{L}*", message = "Msg")
private String name;
当我尝试输入任何文本时,它不起作用。
当我使用:
@Pattern(regexp = "[a-zA-Z]*", message = "Msg")
它适用于非拉丁字符。
您需要使用 Pattern.UNICODE_CHARACTER_CLASS
flag 使 \p{L}
模式识别 Unicode。
Enables the Unicode version of Predefined character classes and POSIX character classes.
由于您使用的是字符串模式,因此您可以使用内联(嵌入式)标志变体,(?U)
:
regexp = "(?U)\p{L}*"