我有一个案例,我想根据模式选择一组文件。所以我需要一个遵循所有这些场景的正则表达式。 应包含“价格”字样
Price_{0}_Extract_{1}.xml
我想处理以下情况
Price_ABC_Extract_20150723081513.xml
Price_DEF_Extract_20150823081513.xml
ABC_Price_DEF_Extract_20150823081513.xml
FGH_Price_DEF_Extract_20150823081513_1.xml
使用一个正则表达式我想选择上面的文件
{1}
应始终采用"yyyyMMddHHmmss"
格式
它应该总是包含一个单词“价格”
任何人都可以帮忙解决这个问题。当然我正在使用一个不处理所有这些情况的正则表达式(即Price_[yyyyMMddHHmmss].xml
)
我需要一个在c#中工作的解决方案
答案 0 :(得分:1)
您可以使用以下正则表达式来检查文件名匹配:
^\w*?Price_\w*?Extract_\d{14}(?:_\d+?)??\.xml$
Demo here
然而,它并不验证日期实际上是有效的,只是它占用了正确的位数。
答案 1 :(得分:0)
为JB的回答添加数字限制:
\ W *?Price_ \ W *?\ d {4} [0-1] \ d [0-3] \ d [0-2] \ d [0-6] \ d [0-6] \ d(?:?_ \ d +)。?? XML