совпадение с шаблоном для даты с символом и символом конца - PullRequest
0 голосов
/ 09 мая 2020
• 1000 моя переменная
@Pattern(regexp = "^\\d{8}_.*", message = "Field 'batchId' invalid.please provide in format yyyyMMdd_<digit/end>")
    private String batch Id;

, например 20200509_001 для первой попытки или 20200509_9999999 для 9999999 обращений ie формат yyyyMMdd_no_of_tries или 20200509_end ie yyyyMMdd_end для последнего попадания дня (это end может быть нечувствительным к регистру.) но 1 из них должен быть там, либо no_of_tries, либо end 20200509_ это недопустимо.

Мне нужно подготовить шаблон для этого., пока я придумал "^\\d{8}_.*" соответствует до 8 цифр, но я не могу сопоставить цифры или строку после _.

1 Ответ

0 голосов
/ 09 мая 2020

Вы можете использовать этот шаблон:

^\d{8}_(\d+|end)$

Это заставляет иметь в конце цифры или конец .

RegEx Demo

В вашем коде:

@Pattern(regexp = "^\\d{8}_(\\d+|end)$", message = "Field 'batchId' invalid.please provide in format yyyyMMdd_<digits/end>")
    private String batch Id;

Если вы хотите, чтобы конец регистр не учитывался:

@Pattern(regexp = "^\\d{8}_(\\d+|[Ee][Nn][Dd])$", message = "Field 'batchId' invalid.please provide in format yyyyMMdd_<digits/end>")
    private String batch Id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...