-3
我有一个名为像这样的本地目录多个文件:正则表达式 - 从文件名中的文件列表中提取日期
asd-3A-yyyyMMdd
其中YYYYMMDD表示日期。 还有一些文件名为:
bcd-3A-yyyyMMdd
和一群具有不同名称的文件,unnecesary给我的。 如何仅从asd开始的文件中提取日期? 我试过的东西似乎工作。
我有一个名为像这样的本地目录多个文件:正则表达式 - 从文件名中的文件列表中提取日期
asd-3A-yyyyMMdd
其中YYYYMMDD表示日期。 还有一些文件名为:
bcd-3A-yyyyMMdd
和一群具有不同名称的文件,unnecesary给我的。 如何仅从asd开始的文件中提取日期? 我试过的东西似乎工作。
此正则表达式
asd-[0-9][a-z]-([0-9]{4})([0-9]{2})([0-9]{2})
将执行以下操作
asd-
-
注:Th是正则表达式不验证日期是合法的。
例鉴于下列示例文本
bsd-3A-20170523
asd-3A-20170523
NotTheDroidsYourLookingFor-20171131
asd-1D-20170523
返回下列匹配
Match 1
Full match 16-31 `asd-3A-20170523`
Group 1. 23-27 `2017`
Group 2. 27-29 `05`
Group 3. 29-31 `23`
Match 2
Full match 68-83 `asd-1D-20170523`
Group 1. 75-79 `2017`
Group 2. 79-81 `05`
Group 3. 81-83 `23`
说明
NODE EXPLANATION
--------------------------------------------------------------------------------
asd- 'asd-'
--------------------------------------------------------------------------------
[0-9] any character of: '0' to '9'
--------------------------------------------------------------------------------
[a-z] any character of: 'a' to 'z'
--------------------------------------------------------------------------------
- '-'
--------------------------------------------------------------------------------
( group and capture to \1:
--------------------------------------------------------------------------------
[0-9]{4} any character of: '0' to '9' (4 times)
--------------------------------------------------------------------------------
) end of \1
--------------------------------------------------------------------------------
( group and capture to \2:
--------------------------------------------------------------------------------
[0-9]{2} any character of: '0' to '9' (2 times)
--------------------------------------------------------------------------------
) end of \2
--------------------------------------------------------------------------------
( group and capture to \3:
--------------------------------------------------------------------------------
[0-9]{2} any character of: '0' to '9' (2 times)
--------------------------------------------------------------------------------
) end of \3
你能告诉我们你试过了什么吗?我们可以从那里出发。 – louisfischer