热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

无法识别文件格式_*

如何解决《无法识别文件格式_*》经验,为你挑选了1个好方法。

我需要处理一个文件并且它正在工作,但是我需要更改文件模式。这是需要的:someText_XYZ_*.dat

我添加了星号,因此_接受之后的所有内容,但是不接受具有该名称的文件:someText_XYZ_abc1.dat

模式存储在Oracle表中。当我运行应用程序时,将读取表,并使用文件模式来匹配文件名(可能在Apache Camel中)。当前有效的示例是:.*.csv[0-9]{7}.abc.*.csv

我的新模式有什么问题?



1> Alex Poole..:

这是当前有效的一个示例: [0-9]{7}.abc.*.csv

那么这似乎是一个正则表达式模式;其中的句点匹配任何字符。如果要使它们与文件名中的实际句点相匹配,则很可能需要对它们进行转义(除非处理中所做的事情很奇怪):[0-9]{7}.abc.*\.csv[0-9]{7}\.abc.*\.csv[0-9]{7}\.abc\..*\.csv取决于要匹配的实际文件名。

您的新模式someText_XYZ_*.dat将匹配,someText_XYZ然后匹配任意数量的下划线,任意单个字符,然后匹配dat

您可能想要:

someText_XYZ_.*.dat

或更可能:

someText_XYZ_.*\.dat

匹配someText_XYZ_(末尾包含单个下划线),然后匹配任意数量的任何字符(来自.*),然后匹配文字.dat

有很多学习正则表达式的资源。这是一份,如果您不耐烦的话,请准备一份备忘单。


推荐阅读
author-avatar
123123
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有