【发布时间】:2022-10-13 13:18:06
【问题描述】:
我正在尝试使用正则表达式匹配在文件结构中具有特定深度的特定文件的文件路径,到目前为止我有
/^([A-Z]:\\)(.*?\\)(.*?\\)(.*?\\)(.*?\\)(?!.*\\)(<filename>)$/
炸开的样子:
/^
([A-Z]:\\)
(.*?\\)
(.*?\\)
(.*?\\)
(.*?\\)
(?!.*\\)
(<filename regex>)
$/
我遇到的问题是,如果不接受整个字符串,我似乎无法匹配文件名。
一些我不想工作的文件结构示例:
P:\example folder\example folder - 2\eample folder - 3\Rev 0\Example Folder - 4\example file.pdf
P:\example folder\Example Folder - 2\example file.pdf
与我需要匹配的内容相比:
P:\example folder\example folder - 2\eample folder - 3\Rev 0\example file.pdf
【问题讨论】:
-
也许
[^\\]*而不是.*?否则你会匹配任意深度 -
/^[A-Z]:\\([^\\]+\\){4}(filename)$/ -
谢谢你!这不完全是我所需要的,但最终引导我找到了正确的答案
-
也许您可以发布您的answer,以便其他人也可以从中受益?
标签: regex