首先,我要感谢任何花时间阅读我的文章的人。REGEX匹配filenname约定
那么,我是正则表达式世界的新手,我可以创建非常基本的REGEX,但现在我想跳转到更复杂的一个。
目的是仅匹配那些文件名至极METS下一命名约定:
文件名应具有一定的炭组合开始,那么它应该跟随任意4个数字,然后下划线。我不需要关心文件名的其余部分。
有作为文件名的开头一定的有效组合,让说:
ABCD
HIJK
是为文件名的唯一有效起始字符串。
例如,下一个字符串是有效的:
ABCD9403_XXXXXXXXXXXX.XXX
(因为它与ABCD开头,则4位数字,然后下划线) HIJK6701_xXxXxX.xXx
(因为它与HIJK开头,则4位数字,然后下划线)
但是,接下来的那些无效:
AMCD6987_xxxxxx.xxx
(因为AMCD不匹配任何有效的起始串以上的:ABCD或HIJK)
HIJK12F2_xxxxxxx.xxx
(它以一个有效的字符串(HIJK),但接下来的部分不包含4个数字(它包含一个F代替))
ABCD9547-21654sdasd321.321asd
(它配衬的有效起始串和4个数字中的一个,但它不匹配下划线。
我打算使用Java对其进行编码。
我希望有人能帮助我。
所有的建议都被广泛接受。
感谢大家。
您是否试图解决'正则表达式'。如果是,那么你可以展示给我们。也让我们知道你在哪里面临问题。 – Smit
Hello @Smit。我试图测试你们发给我的建议。我正在尝试在线java测试人员,因为我不在我的个人计算机上编写代码。但是,我无法使用此匹配,例如:http://java-regex-tester.appspot.com/ – JoseTlaseca
它现在有效。我尝试使用[link] http://myregextester.com/index.php并标记了Java复选框,它向我展示了内部生成的代码的预览,并且我注意到“\\”导致它不适用于我因为它试图与下一个模式匹配: 'code'Pattern。编译(“^(ABCD | HIJK)\\\\ d {4} _”);'代码' 所以我删除了两个“\”之一,它工作得很好。 所有的建议都适用于我的案例,不幸的是我不能将所有标记为有效的,因此我决定将我的投票给予@barnesjd,让他逐步解释他的时间。 谢谢你们! – JoseTlaseca