正则表达式需要匹配以下格式

时间:2013-10-04 09:36:31

标签: regex

格式为:

19位后跟一个下划线后跟4位数字,后跟一个下划线,后跟一个数字,后跟一个下划线,后跟一个大写字母,后跟一个下划线,后跟4个数字,然后是一个破折号,接着是2位数字,接着是短划线,接着是2位数字,接着是下划线,接着是2位数字,接着是短划线,接着是2位数字,接着是短划线,接着是2位数字,以{{结尾1}}扩展

这里有一些文件名,因为我认为上面的信息很难阅读。 :) thanx提前给任何回答的人。

".db" 2408002705100010002_0002_0_V_2012-11-02_06-35-24.db 2408002705100010001_0001_0_V_2012-11-05_05-32-06.db

3 个答案:

答案 0 :(得分:1)

\d{19}_\d{4}_\d_[A-Z]_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}\.db

http://gskinner.com/RegExr/ - 一个测试您的RegEx的网站

但我注意到,例如,在中间你有_0002_

您接受任何4位数字或以“000”开头的数字吗?

答案 1 :(得分:0)

\d{19}_\d{4}_\d_[A-Z]_\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}\.db

这个也会对日期/时间部分进行基本检查(假设日期为YYYY-MM-DD):

\d{19}_\d{4}_\d_[A-Z]_\d{4}-(0(?!0)|1(?=[0-2]))\d-(0(?!0)|[1-2]|3(?=[0-1]))\d_([0-1]|2(?=[0-3]))\d(-[0-5]\d){2}\.db

基本检查表示您仍然可以插入日期,例如2月30日,但不是1月32日。

答案 2 :(得分:0)

根据您的数据:

\d{19}_0+\d_0_(V|E)?_(-?(\d{2}|\d{4}))+_(-?\d{2})+\.db

如果寻求更通用的话:

\d{19}_\d+_\d_[A-Z]?_\d{4}(-\d{2}){2}_(-?\d{2})+\.db

HTH

编辑:在旁注中,我宁愿将此字符串与_分开,然后根据某些模式和/或属性单独验证每个部分。这样你就可以更好地控制这个字符串的外观。

相关问题