Raf*_*ael 16 java regex hibernate-validator
我想使用Hibernate Validator来验证一些列.据我所知,问题是java中的\ w标记不接受带有重音符号的字母.
有没有什么方法可以编写正则表达式,以便像Relatório这样的单词可以被验证(我不想写括号之间带有重音的所有字母,因为我希望在很多列中写这个正则表达式)?
Rac*_*lit 31
在Java的正则表达式的文件对Unicode的类别(搜索"类对Unicode块和类别")的部分.如果您只是在寻找信件,我认为这\p{L}
是您想要的类别.
Hav*_*nar 12
我有更多运气:
\p{InCombiningDiacriticalMarks}+
Run Code Online (Sandbox Code Playgroud)
在java中我使用以下方法:
import java.text.Normalizer;
import java.text.Normalizer.Form;
public static String removeAccents(String text) {
return text == null ? null :
Normalizer.normalize(text, Form.NFD)
.replaceAll("\\p{InCombiningDiacriticalMarks}+", "");
}
Run Code Online (Sandbox Code Playgroud)