文件名格式匹配(PHP)


File Name Format Match (PHP)

我正在处理XML提要,我有两种格式非常相似的XML文件:

XML 1格式

c<date><id><time>.xml

XML 2格式

c<date><id><time><revision>.xml

其中:

  • C总是1个字符
  • DATE始终是字符格式
  • ID至少是5个字符,但可能会随着时间的推移而增加
  • TIME总是4个字符格式
  • REVISION始终是4个字母的格式

现在您可以理解,当ID动态更改时,问题是将第一种格式与第二种格式分开。

我使用preg_match和RegEx来匹配整个格式,但我真正的问题是,即使ID动态更改为789字符,是否有任何方法可以真正匹配格式?

提前感谢

假设日期为dd-mm-yyyy格式:

c :- [A-Za-z]  (if you want digits also, you can use [A-Za-z0-9])
Date :- 'd{2}-'d{2}-'d{4}
id :- 'w{5,}  #It will match 5 or greater than 5 characters in id
Time :- 'd{4}
Revision :- 'w{4}