Я получаю 17 типов файлов следующего формата:
85_*_p.dat
88_*_p.dat
32_*_p.dat
40_*_p.dat
41_*_p.dat
70_*_p.dat
22_*_p.dat
23_*_p.dat
46_*_p.dat
24_*_p.dat
25_*_p.dat
26_*_p.dat
52_*_p.dat
123_*_p.dat
28_*_p.dat
29_*_p.dat
35_*_p.dat
Где * любой идентификатор GUID, например "40_20200313_0cd6963f-bf5b-4eb0-b310-255a23ed778e_p.dat". Числа как 85, 88 и c. Интерфейс № Знак подчеркивания, а также "_p.dat" является общим для всех файлов.
Как написать регулярное выражение, включающее все перечисленные выше файлы?
Пробовал, но не работал:
/[22][23][24][25][26][28][29][32][35][40][41][46][52][70][85][88][123]_(?:.*)_p.dat/
Также пробовал:
\d[22|23|24|25|26|28|29|32|35|40|41|46|52|70|85|88|123]_(?:.*)_p.dat
Это ошибочно, как будто я добавляю 123, тогда он также выбирает 23
Также пробовал:
(22|23|123)_(?:.*)_p.dat
Это дает два результата с нормальным значением и группой 1
Не знаете, как с этим справиться
Примечание: Apache Верблюд имеет возможность читать файл SFTP с помощью регулярных выражений. Я хотел создать регулярные выражения для всех файлов выше. Но нужно то же самое для Java.