Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 验证文件名_Java_Regex - Fatal编程技术网

Java 验证文件名

Java 验证文件名,java,regex,Java,Regex,文件格式#[filename].[2个字母的区域设置].[outputformat-html/subject/text].xml 有效文件名- myname.en.html.xml myname2.pt.subject.xml等 此外,文件名来自数据库中的一列 谁能帮我学一下正则表达式吗 谢谢大家! 根据@drf编辑 公共静态布尔值isValidFileName(字符串文件名){ 字符串表达式=“^\\w+\\.[A-Z]{2}\.(?>html | subject | text)\\\.xml

文件格式#[filename].[2个字母的区域设置].[outputformat-html/subject/text].xml

有效文件名-

myname.en.html.xml

myname2.pt.subject.xml等

此外,文件名来自数据库中的一列

谁能帮我学一下正则表达式吗

谢谢大家!

根据@drf编辑

公共静态布尔值isValidFileName(字符串文件名){
字符串表达式=“^\\w+\\.[A-Z]{2}\.(?>html | subject | text)\\\.xml$”;
CharSequence inputStr=表达式;
Pattern=Pattern.compile(表达式,Pattern.CASE不区分大小写);
Matcher Matcher=pattern.Matcher(inputStr);
返回matcher.matches();
}
公共静态void main(字符串[]args){
String fileName=“somefile.en.html.xml”;
System.out.println(“是有效的文件名#”+fileName+“-”+isValidSEASFileName(fileName));
}
尝试以下操作:

[^\.]*\.[a-z]{2}\.(html|subject|text)\.xml
请尝试以下操作:

[^\.]*\.[a-z]{2}\.(html|subject|text)\.xml

如果保守的文件名验证是可接受的(仅限字母和数字,没有最大长度),并且两个字母的区域设置可以是任意两个字母,那么类似的东西(设置为不区分大小写)可以工作:

 ^\w+\.[A-Z]{2}\.(?>html|subject|text)\.xml$

如果保守的文件名验证是可接受的(仅限字母和数字,没有最大长度),并且两个字母的区域设置可以是任意两个字母,那么类似的东西(设置为不区分大小写)可以工作:

 ^\w+\.[A-Z]{2}\.(?>html|subject|text)\.xml$

无法对以下文件名使用上述reg-ex进行验证-spgspgbusinesswelcome.en.subject.xmlIt应该匹配--请澄清,在调用
matches()
并转义模式中的反斜杠时,是否使用了不区分大小写的标志?添加了我使用表达式创建的相应方法!有些人认为它仍然不起作用!无法对以下文件名使用上述reg-ex进行验证-spgspgbusinesswelcome.en.subject.xmlIt应该匹配--请澄清,在调用
matches()
并转义模式中的反斜杠时,是否使用了不区分大小写的标志?添加了我使用表达式创建的相应方法!有些人认为它仍然不起作用!如果将行
CharSequence inputStr=expression
更改为
CharSequence inputStr=fileName
,则应返回true。如果将行
CharSequence inputStr=expression
更改为
CharSequence inputStr=fileName
,则应返回true。