Java 中正则表达式中的重音
2022-09-02 11:32:16
我想使用休眠验证器来验证一些列。据我所知,问题在于java中的\w标记不接受带有重音符号的字母。
有没有办法写正则表达式,以便像Relologuri这样的单词可以被验证(我不想写所有在括号之间带有重音符号的字母,因为我期望在很多列中写这个正则表达式)?
我想使用休眠验证器来验证一些列。据我所知,问题在于java中的\w标记不接受带有重音符号的字母。
有没有办法写正则表达式,以便像Relologuri这样的单词可以被验证(我不想写所有在括号之间带有重音符号的字母,因为我期望在很多列中写这个正则表达式)?
我有更多的运气:
\p{InCombiningDiacriticalMarks}+
在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}+", "");
}