簡體   English   中英

正則表達式排除目錄和字符串匹配文件以外的所有內容

[英]Regex to exclude everything except directories AND string matched files

晚上好,我正在為一個現有項目打包。

因此,在所有目錄中都有大量文件。

在netbeans IDE(8.2)中,有一個排除文件選項,它接受正則表達式。

這是我在regextester.com上找到的

^((?!package).)*$

這是一種流行的方式,除了它隱藏目錄之外,結果是實際上只有一個文件出現在項目的根目錄中,而沒有其他東西出現,因為它們位於子目錄中,所以這是不希望的結果。

這是我當前的模式在Netbeans中的樣子,其中所有匹配項都從項目文件列表中排除,我需要添加另一個正則表達式。

我不確定是否需要^和$,但是所有的正則表達式都用管道將它們分隔開。

^(CVS|SCCS|vssver.?\.scc|#.*#|%.*%|_svn)$|~$|^\.(git|hg|svn|cache|DS_Store)$|^Thumbs.db$|^(vq2\-systemz.*)$

為了使事情更清楚,我想用正則表達式實現的是保留所有目錄並刪除所有與模式不匹配的文件

如果是netbeans排除列表, 則與正則表達式之一匹配的所有內容都將從文件列表中刪除 我相信在正則表達式中,它必須是!match軟件包,!match目錄,匹配所有其他文件。

有人可以幫忙嗎?

PS:謝謝那些已經嘗試過的人,我相信我可能對這個問題感到困惑,使回答變得有些困難。

更新 :我想我知道我知道您的過濾器會刪除匹配項。

^((?!package[^/]).)*$應該可以使用,如果您的正則表達式解析器支持否定先行。

這表示它不能在字符串“ package”后加上“ /”。

/some/path/to/package/package.php (no match)
/another/package/package_name.php (no match)
/another/package (no match)
package.php (no match)
/another/package/file.php (matches)
/another/path/file.php (matches)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM