javascript - 如何匹配 JavaScript 中的文件名模式?
问题描述
我如何匹配一个文件名,该文件名完全符合以下格式/模式(包括大写字母): yymmdd_Name1_Data_Prices, yymmdd_Name1_Data_Contact, yymmdd_Name1_Data_Address。
我有需要上传的文件,文件名保存在数据库中。我想将给定的文件名与数据库中的模式匹配,但我不确定如何做到这一点。
解决方案
您可以使用以下正则表达式。
\b\d{6}(?:_[A-Z][a-z]+){3}\b
Javascript 的正则表达式引擎执行以下操作。
\b # match word break
\d{6} # match 6 digits
(?: # begin non-capture group
_[A-Z][a-z]+ # match '_', one upper-case letter, 1+ lower-case letters
) # end non-capture group
{3} # execute non-capture group 3 times
\b # match word break
匹配对应于日期的前 6 个字符可能比仅匹配 6 个数字更精确。例如,假设年份是2000-2020
,可以替换\d{6}
为
(?:[01]\d|20)(?:0[1-9]|1[0-2])(?:0[1-9]|[12]\d|30|31)
但它仍然不能确保日期有效。
推荐阅读
- javascript - JavaScript 中是否有一些语音或语音就绪事件?
- node.js - 为什么在 macOS Catalina 上尝试为 Angular 项目运行 npm install 时出现这些故障?
- java - 在 apache spark 中组合来自不同来源的数据
- c# - 使用 C# .Net 和 Ghostscript 从 PDF 中裁剪或修剪部分
- python-3.x - 类型错误:+ 不支持的操作数类型:“工作表”和“整数”
- amazon-web-services - EC2 实例无法使用其公共 DNS 在特定端口上访问
- c - 写入文件时的“访问冲突写入位置”
- python - Spark UDF 导致作业中止
- javascript - 必须按下按钮才能激活 php 代码?
- javascript - onClick 按钮不执行表单内的功能[不是类型=提交问题]