- Я хочу проверить строку для точного соответствия в проверке бобов. Должен ли я использовать
@Pattern
или есть ли другой способ сделать это? - Если
@Pattern
- это путь, что такоеregex
? - Могу ли я использовать две аннотации
@Pattern
для двух разных групп в одном поле?
0
A
ответ
4
Я хочу проверить строку для точного соответствия в проверке бобов. Должен ли я использовать @Pattern или есть другой способ сделать это?
Вы можете либо использовать @Pattern
или реализовать пользовательское ограничение очень легко:
@Documented
@Constraint(validatedBy = MatchesValidator.class)
@Target({ METHOD, CONSTRUCTOR, PARAMETER, FIELD })
@Retention(RUNTIME)
public @interface Matches {
String message() default "com.example.Matches.message";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
String value();
}
С валидатора, как это:
public class MatchesValidator implements ConstraintValidator<Matches, String> {
private String comparison;
@Override
public void initialize(Matches constraint) {
this.comparison = constraint.value();
}
@Override
public boolean isValid(
String value,
ConstraintValidatorContext constraintValidatorContext) {
return value == null || comparison.equals(value);
}
}
Если
@Pattern
является путь, чтоregex
?
В принципе, только строка, которую вы хотите сопоставить, вам нужно только избежать специальных символов, таких как [\^$. |? * +(). См. this reference для получения более подробной информации.
Могу ли я использовать две аннотации @Pattern для двух разных групп в одном поле?
Да, просто использовать в @Pattern.List
аннотацию:
@Pattern.List({
@Pattern(regex = "foo", groups = Group1.class),
@Pattern(regex = "bar", groups = Group2.class)
})
Смежные вопросы
- 1. Регулярного выражения для замены точного соответствия строки
- 2. Поиск точного соответствия строки
- 3. Grep для точного соответствия
- 4. Запрос XPath для точного соответствия
- 5. PHP: Regex для точного соответствия
- 6. список поиска для точного соответствия
- 7. Grep (fgrep) Баш точного соответствия конец строки
- 8. Searchlogic - поиск точного соответствия
- 9. проверка соответствия строки
- 10. Использование LIKE для определения «точного» соответствия
- 11. регулярное выражение для подстроки или точного соответствия
- 12. Условное форматирование точного соответствия текста
- 13. Выражение LINQ для точного соответствия части строки в структуре Entity
- 14. Поиск точного соответствия возвращает подстроки.
- 15. Условная проверка бина суперкласса
- 16. ExtJS filter() в магазине для точного соответствия
- 17. Force точного соответствия для `жемчужины list`
- 18. Найти/найти AOT для точного соответствия
- 19. SQL: Сравнение столбцов для точного соответствия множеств
- 20. Получение точного соответствия для рисунка в bash
- 21. Поиск файла JSON только для точного соответствия
- 22. Powershell search excel document для точного соответствия
- 23. Как использовать Linq для проверки точного соответствия?
- 24. Проверка точного URL-адреса
- 25. Как найти индекс точного соответствия?
- 26. Elasticsearch - Не требует точного соответствия
- 27. Проверка бина на управляемом объекте
- 28. Проверка бина - конструктор/заводский параметр
- 29. Извлечение данных на основе точного соответствия строки, хранящейся в переменной
- 30. Regex Поиск точного соответствия из списка
Можете ли вы обновить RegEx для точного соответствия строки? –
. '@Pattern (regex =" foo ")' или '@Pattern (regex =" really \\? ")' – Gunnar
Спасибо, Mate! Что помогает! –