Проверить имена файлов - PullRequest
       0

Проверить имена файлов

0 голосов
/ 15 августа 2011

Формат файла # [имя файла]. [2-буквенный языковой стандарт]. [Outputformat - html / subject / text] .xml

Допустимые имена файлов -

myname.en.html.xml

myname2.pt.subject.xml и т. Д.

Кроме того, имена файлов поступают из столбца в базе данных.

Может кто-нибудь помочь мне с регулярным выражением?

Спасибо!

Редактировать # согласно @ drf

public static boolean isValidFileName( String fileName ) {
    String expression = "^\\w+\\.[A-Z]{2}\\.(?>html|subject|text)\\.xml$" ; 
    CharSequence inputStr = expression ;
    Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
    Matcher matcher = pattern.matcher(inputStr);
    return matcher.matches();
}

public static void main(String[] args) {
    String fileName = "somefile.en.html.xml" ;
    System.out.println("Is valid file name # " + fileName + " - " + isValidSEASFileName(fileName)  ) ;  
}

Ответы [ 2 ]

3 голосов
/ 15 августа 2011

Если допустима консервативная проверка имени файла (только буквы и цифры, без максимальной длины) и двухбуквенный языковой стандарт может быть любыми двумя буквами, тогда может работать что-то вроде этого (с учетом регистра):

 ^\w+\.[A-Z]{2}\.(?>html|subject|text)\.xml$
0 голосов
/ 15 августа 2011

Попробуйте следующее:

[^\.]*\.[a-z]{2}\.(html|subject|text)\.xml
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...