【发布时间】:2020-08-14 15:27:00
【问题描述】:
文件名输入示例:
收益文件 7 月 31 日 20.csv
产量文件 20 年 8 月 30 日.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})$
【问题讨论】:
-
最后的字符类应该是
[0-9]{2},加上一个破折号,你可以省略它后面的.*,你也可以在模式和单词边界中省略{1}。^Yield\sfile\s[0-9]{2}\s(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May?|Jun(?:e)?|July?|Aug(?:ust)?|Sept(?:ember)?|Oct(?:ober)?|Nov(?:ember)|Dec(?:ember)?)\s[0-9]{2}\.(?:[Cc][Ss][Vv])$见regex101.com/r/A7cU55/1 -
我们不需要在月份之前\b
-
你之前匹配了一个空白字符
\s。 -
您应该多花一点时间清楚地提出您的问题。正文应该独立存在,不需要理解标题。您还应该提供通过和失败测试的输入和预期输出示例,以及您的代码出了什么问题(最好在问题中发布为可运行的 sn-p)。
标签: javascript regex file date