我想寫一個正則表達式來遞歸地匹配路徑中的任何點文件。我開始於:使用正則表達式遞歸地匹配點文件
^[.]
但這不符合long/path/here/.dotfile
的情況。它本身也匹配.
,這是不正確的。正則表達式應與.
匹配,然後至少需要一個字符。
我想寫一個正則表達式來遞歸地匹配路徑中的任何點文件。我開始於:使用正則表達式遞歸地匹配點文件
^[.]
但這不符合long/path/here/.dotfile
的情況。它本身也匹配.
,這是不正確的。正則表達式應與.
匹配,然後至少需要一個字符。
^\/?(?:\w+\/)*(\.\w+)
^
- 表示字符串
\/?
的開始 - 前述/
(?:\w+\/)*
的可能性 - 非捕獲組來找到的子目錄路徑0-INF的匹配(例如long/path/.../
) (\.\w+)
- 捕獲組以獲取以.
開頭的路徑末尾的任何文件
我能想到的辦法是2的正則表達式
^[\.]
匹配在根目錄下任何不與.
(?<=\/)\.
比賽,一個/
後跟一個.
匹配任何子目錄啓動。測試用例:
.foo
foo.a
/a/.foo
/a/foo.a
/.foo/.asdafsdf
究竟是應該在'長/路徑/這裏的例子要捕獲/ .dotfile'? –
如果您只是使用「開始」功能並過濾「」,該怎麼辦?當你發現它? – squiguy
你用來做正則表達式匹配的是什麼工具(和什麼語言?)? –