Ответ 1
Java regex documentation содержит раздел о категориях Юникод (поиск "Классы для блоков и категорий Unicode" ). Если вы просто ищете письма, я думаю, что \p{L}
- это категория, которую вы хотите.
Я хотел бы использовать Hibernate Validator для проверки некоторых столбцов. Проблема, насколько я понимаю, в том, что маркер \w в java не принимает буквы с акцентами на них.
Есть ли способ, которым я мог бы написать регулярное выражение, чтобы слова, подобные Relatório, могли быть проверены (я бы не хотел писать все буквы с акцентами между скобками, потому что я планирую писать это регулярное выражение во многих столбцах)
Java regex documentation содержит раздел о категориях Юникод (поиск "Классы для блоков и категорий Unicode" ). Если вы просто ищете письма, я думаю, что \p{L}
- это категория, которую вы хотите.
Мне повезло больше:
\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}+", "");
}