如何解决日期和月份的RegExp是多少?
文件名输入示例:
收益文件7月31日csv
收益文件8月30日20.csv
我的RegExp
代码:
Yield\sfile\s[0-9]{2}\s\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May?|Jun(?:e)?|July?|Aug(?:ust)?|Sept(?:ember)?|Oct(?:ober)?|Nov(?:ember)|Dec(?:ember)?)\s[09]{2}.*\\.([Cc]{1}[Ss]{1}[Vv]{1})$
解决方法
如果您的文件格式很严格 ...
- 文字字符串
Yield file
(带有尾随空格) - 您要提取的日期
- 文字字符串
.csv
然后,您不需要正则表达式。您甚至不需要关心字符串。
确定可以验证它,例如。
if( !filename.startsWith("Yield file ") || !filename.endsWith(".csv")) {
throw new Error("Filename doesn't match the expected pattern");
}
但是您真正需要的是:
date = filename.substring(
"Yield file ".length,filename.length - ".csv".length
);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。