Regular-Expression

什麼是 .gitignore 模式等價於正則表達式 (Big|Small)(State|City)-0−90−90-9*.csv

  • October 1, 2012

我有一個.gitignore類似於以下內容的正則表達式:

(Big|Small)(State|City)-[0-9]*\.csv

它沒有用,所以我針對RegexLab.NET對其進行了測試。

然後我找到了gitignore手冊頁,它讓我了解到 gitignore 不使用正則表達式,而是使用fnmatch(3)

但是, fnmatch 它似乎沒有等效的擷取組。這是可行的還是我需要把它分成三行?

沒有辦法用 gitignore 支持的模式來表達這個正則表達式。問題不在於缺少擷取組(實際上,您沒有使用擷取組本身),問題在於缺少|操作員。你需要把它分成四行。

BigState-[0-9]*.csv
SmallState-[0-9]*.csv
BigCity-[0-9]*.csv
SmallCity-[0-9]*.csv

請注意,模式匹配 eg BigState-4foo.csv, since*匹配任何字元序列。除非您願意只匹配固定數量的數字,否則您無法使用 glob 模式做得比這更好。

引用自:https://unix.stackexchange.com/questions/31790