Фильтрация строки на основе формата - PullRequest
0 голосов
/ 17 июня 2020

У меня есть список строк, и я хочу отфильтровать их на основе шаблона parta-partb-part c или parta-partb-no-part c. Нет может быть любым положительным целым числом, в то время как другие части строки фиксированы.

For example

parta-partb-partc
parta-partb-1-partc
parta-partb-1xyz-partc
parta-partb-123-partc
parta-partb-abc-partc

После фильтрации с помощью регулярного выражения мой список должен быть

parta-partb-partc
parta-partb-1-partc
parta-partb-123-partc

Мой вопрос: как сделать Я пишу регулярное выражение, объединяющее оба условия?

1 Ответ

1 голос
/ 17 июня 2020

Используйте String#matches со следующим шаблоном регулярного выражения:

parta-partb-(?:\d+-)?partc

Пример сценария:

String input = "parta-partb-1-partc";
if (input.matches("parta-partb-(?:\\d+-)?partc")) {
    System.out.println("MATCH");
}

Обратите внимание, что String#matches по умолчанию применяет шаблон ко всей входной строке , поэтому не требуются начальные / конечные привязки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...