我正在尋找一種簡單而強大的方法來實現Windows風格的*
和?
通配符在字符串中匹配。尋找簡單但功能強大的windows通配符(`*,?`)匹配實現
BeginsWith()
,EndsWith()
太簡單了,無法覆蓋所有情況,而將通配符表達式轉換爲正則表達式看起來很複雜,我不確定性能。
想要一個快樂的媒介。
編輯:我試圖解析.gitignore
文件,並匹配相同的文件,因爲Git。這意味着:
- 文件應該是出庫的索引(所以我檢查存儲在索引對一個文件的路徑)
- 在
.gitignore
數的模式可以很大; - 要檢查的文件數量可能也很大。
非常含糊。發佈一些具有所需輸出的輸入。 – 2012-01-12 21:25:09
@亨克,大多數窗口的人會知道什麼意思,*任何數量的字符,?只是一個未知的字符...?blah * .txt會匹配任何與之前的字符的任何東西,任何數量的字符後,等等,並以.txt結尾 – 2012-01-12 21:29:49
@HenkHolterman,我解析'.gitignore'文件,並在我的庫我需要達到原始Git提供的相同行爲。 – shytikov 2012-01-12 21:37:32