当前位置: 首页 > 面试题库 >

Java正则表达式用于文件过滤

通博实
2023-03-14
问题内容

我想在Java中html" target="_blank">构建一个正则表达式,该正则表达式将在FilenameFilter中传递以过滤目录中的文件。

问题是我无法理解正则表达式“思维模型”的问题:)

这是我用来选择要排除的文件的正则表达式

(((ABC | XYZ))+ \ w * Test.xml

我想做的是选择所有以Test.xml结尾但不以ABC或XYZ开头的文件。

您能否添加任何可以帮助我应对正则表达式的资源。

谢谢

以下资源说明了有关regexp regular-expressions.info的许多内容


问题答案:

我想选择所有以结尾Test.xml 但不以ABC或开头的文件XYZ

您可以使用此正则表达式匹配所有文件:

^(?:(?:...)(?<!ABC|XYZ).*?)?Test\.xml$

或者您做相反的事情,并获取每个 匹配的文件:

^(?:ABC|XYZ).*?Test\.xml$

就个人而言,我发现第二种选择要简单得多。

ABC_foo_Test.xml //#2个匹配项
XYZ_foo_Test.xml //#2个匹配项
ABCTest.xml //#2个匹配项 
XYZTest.xml //#2个匹配项
DEF_foo_Test.xml //#1个匹配项
DEFTest.xml //#1个匹配项
Test.xml //#1个匹配项


 类似资料:
  • 问题内容: 我正在尝试输入之间的内容,我的模式没有做正确的事,请帮忙。 下面是sudocode: 要求的输出: 之一 二 三 问题答案: 先行使用并在循环中使用,而不是: 看到它在线上工作:ideone 但是最好在这里使用split: 看到它在线上工作:ideone

  • 主要内容:正则表达式支持字符正则表达式(Regular Expression)又称正规表示法、常规表示法,在代码中常简写为 regex、regexp 或 RE,它是计算机科学的一个概念。 正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作,是一种可以用于模式匹配和替换的规范。一个正则表达式就是由普通的字符(如字符 a~z)以及特殊字符(元字符)组成的文字模式,它用以描述在查找文字主体时待匹配的

  • 本文向大家介绍java常用正则表达式,包括了java常用正则表达式的使用技巧和注意事项,需要的朋友参考一下   "^/d+$"   //非负整数(正整数 + 0)   "^[0-9]*[1-9][0-9]*$"   //正整数   "^((-/d+)|(0+))$"   //非正整数(负整数 + 0)   "^-[0-9]*[1-9][0-9]*$"   //负整数   "^-?/d+$"    

  • 本文向大家介绍Java正则表达式使用,包括了Java正则表达式使用的使用技巧和注意事项,需要的朋友参考一下 一:抓取网页中的Email地址 利用正则表达式匹配网页中的文本 将网页内容分割提取 打印结果: 867124664@qq.com 260678675@QQ.com 806208721@qq.com hr_1985@163.com 32575987@qq.com qingchen0501@12

  • 问题内容: 我想使用Java正则表达式否定一组单词。 再说了,我想否定,,,。我写了一个正则表达式。 有些似乎不起作用。 问题答案: 试试这个: 如果不包含svn,cvs,nvs或mvc之一,则它将与文本匹配。 这是一个类似的问题:C#正则表达式要匹配不包含某个字符串的字符串?

  • 问题内容: 我需要这件事的帮助。查看以下正则表达式: 我想查找这样的词:“自制”,“ aaaa-bbb”而不是“ aaa-bbb”,而 不是 “ aaa–aa–aaa”。基本上,我想要以下内容: 单词-连字符-单词。 它适用于所有内容,但该模式会通过:“ aaa–aaa–aaa”,但不应通过。哪种正则表达式适用于此模式? 问题答案: 可以从表达式中删除反斜杠: 下面的代码应该工作 请注意,您可以使