我有以下数据集:
C:\folder1\log.txt
C:\folder1\folder2\log.txt
C:\folder1\folder2\folder3\log.txt
我正在尝试使用正则表达式来匹配log.txt文件,该文件可能出现在列表中的多个深度级别(文件夹,而文件夹又具有不同的名称)。
因此,假设我要匹配“两层深度”的所有文件log.txt,我尝试使用以下正则表达式,但对我而言不起作用。
(.*\\){0,2}log\.txt
它不能特别工作,因为它匹配每一行,而不仅仅是匹配“两层深度”的那一行。
如何限制它按预期工作?我想念什么?
答案 0 :(得分:1)
使用负字符集代替.
,以便您可以匹配除反斜杠之外的任何字符,并确保将模式锚定到字符串的开头:
^([^\\]*\\){0,2}log\.txt