正则表达式Java允许数字、字母、特殊字符(部分)
我有一个文件名,比如upload 23_3.jpg。我只允许字母、(.)句号、()海彭符号、下划线正则表达式Java允许数字、字母、特殊字符(部分),java,regex,Java,Regex,我有一个文件名,比如upload 23_3.jpg。我只允许字母、(.)句号、()海彭符号、下划线 ^意思不是a-z,字母和我加了uu和。,但它不起作用。知道如何添加''.''-'字符吗?您可以直接将这些字符添加到字符类的末尾 Pattern p = Pattern.compile("[^a-z0-9_. -]", Pattern.CASE_INSENSITIVE); 您可以直接将这些字符添加到字符类的末尾 Pattern p = Pattern.compile("
^意思不是a-z,字母和我加了uu和。,但它不起作用。知道如何添加''.''-'字符吗?您可以直接将这些字符添加到字符类的末尾
Pattern p = Pattern.compile("[^a-z0-9_. -]", Pattern.CASE_INSENSITIVE);
您可以直接将这些字符添加到字符类的末尾
Pattern p = Pattern.compile("[^a-z0-9_. -]", Pattern.CASE_INSENSITIVE);
不确定“^”在做什么。我想您想删除它
您需要用斜杠转义特殊字符。我认为只有“.”应该转义,并且u不需要转义
尝试:
[a-z0-9.]
-和-对CASE不敏感有一个问题,考虑Topn.UnoDeION情况。或者不考虑任何情况下的标志,并添加一个A.Z.< 尝试: [A-Za-z0-9-。],没有案例提示
不确定“^”在做什么。我想你想把它去掉 您需要用斜杠转义特殊字符。我认为只有“.”应该逃走,而且不需要逃走 尝试: [a-z0-9.]和-对CASE不敏感有一个问题,考虑Topn.UnoDeDyCase.或者不考虑任何情况下的标志,并添加一个A.Z.< 尝试: [A-Za-z0-9_-。],不区分大小写
使用模式。编译(“[\\w\\s.-]+”)
和m.matches()
:
Pattern p=Pattern.compile(“[\\w\\s.-]+”);
Matcher m=p.Matcher(i.getFileName());
布尔值isValid=m.matches();
看
解释
[\w\s.-]+以下任意字符:字字符(a-z,a)-
Z、 0-9、\u1)、空白(\n、\r、\t、\f、,
及“)、”及“-”(1次或以上)
(匹配尽可能多的金额)
使用模式。编译(“[\\w\\s.-]+”
和m.matches()
:
Pattern p=Pattern.compile(“[\\w\\s.-]+”);
Matcher m=p.Matcher(i.getFileName());
布尔值isValid=m.matches();
看
解释
[\w\s.-]+以下任意字符:字字符(a-z,a)-
Z、 0-9、\u1)、空白(\n、\r、\t、\f、,
及“)、”及“-”(1次或以上)
(匹配尽可能多的金额)
我试过了,但当文件名在it@user3508506它不能使用的文件名是什么?@user3508506另外,false表示未找到不允许的字符。“ucal 213_334.jpg”显示为true,尽管有一个有效字符。还有!。是regexp中的一个特殊字符。你必须掩盖它。您的表达式应该像“[^a-z0-9\\\.-]”我尝试过,但当文件名中有uu时,它说布尔值为falseit@user3508506它不能使用的文件名是什么?@user3508506另外,false表示未找到不允许的字符。“ucal 213_334.jpg”显示为true,尽管有一个有效字符。还有!。是regexp中的一个特殊字符。你必须掩盖它。您的表达式应该像“[^a-z0-9\\\.-]”我强烈建议您使用此工具:^引用整个正则表达式,您为什么还要使用它?至于连字符,-
,它必须是类中的第一个。您应该提供一些有效和无效名称的示例。..
、--
、-
、-\u
、-.\u
也是有效名称吗?我强烈建议您使用此工具:^引用整个正则表达式,您为什么还需要它?至于连字符,-
,它必须是类中的第一个。您应该提供一些有效和无效名称的示例。..
、--
、-
、-\u
、-\u
是否也是有效名称?