3

내가 문제가 작동하지 않습니다 P {L} *를 \\.@Pattern는 javax.validation.constraints.Pattern @Pattern 유효성 검사

@Pattern(regexp = "\\p{L}*", message = "Msg") 
private String name; 

텍스트를 입력하려고하면 작동하지 않습니다.

내가 사용했을 때

@Pattern(regexp = "[a-zA-Z]*", message = "Msg") 

은 비 라틴어 문자로 잘 작동합니다.

+2

당신이 "작동하지 않는"정의 할 수 있습니까? – assylias

+0

입력 한 텍스트는 무엇입니까? 여기에있는 패턴은 고정되어 있으므로 문자 만 입력 할 수 있습니다. 예를 들어 공백도'[\\ p {L} \\ s] *'를 사용하십시오. –

+0

froms 텍스트를 입력하고 유효성 검사기가 유효성 검사 오류를 반환합니다. 내가 사용하는 경우 –

답변

1

당신은 Pattern.UNICODE_CHARACTER_CLASS flag\p{L} 패턴 유니 코드를 인식하게 할 필요가있다.

미리 정의 된 문자 클래스 및 POSIX 문자 클래스의 유니 코드 버전을 사용합니다.

당신은 문자열의 패턴을 사용하고 있기 때문에, 당신은 인라인 (임베디드) 플래그 변형, (?U) 사용할 수 있습니다 :

regexp = "(?U)\\p{L}*" 
관련 문제