Pertanyaan Diperpanjang ekspresi reguler (ERE) untuk .gitignore


Apakah ada cara untuk menggunakan extended regular expressions (ERE) dalam a .gitignore mengajukan? Misalnya saya ingin menggunakan + karakter pengulangan dalam .gitignore mengajukan. Apakah ada cara untuk melakukan itu?


32
2018-03-28 01:22


asal


Jawaban:


Seperti yang diilustrasikan sini dan rinci dalam "pertanyaan ini", fungsi itu fnmatch () terlibat untuk menafsirkan pola glob, yang berarti ekspresi reguler tidak didukung.

Ini adalah apa gitignore halaman manual menyebutkan:

Jika tidak, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) dengan FNM_PATHNAME flag: wildcard dalam pola tidak akan cocok dengan / di pathname.
  Sebagai contoh, "Documentation/*.html"pertandingan"Documentation/git.html" tapi tidak "Documentation/ppc/ppc.html" atau "tools/perf/Documentation/perf.html".

Anda dapat melihat beberapa korespondensi antara pola glob dan ekspresi reguler di itu  pertanyaan.


29
2018-03-28 07:28



Itu .gitignore (dan lainnya) file menggunakan globs filename, bukan ekspresi reguler.

Saya sangat meragukan Anda dapat meyakinkan para peretas git untuk mengubah itu: Terlalu mendarah daging sekarang, dan gumpalan jauh lebih akrab sebagai pencocok nama file.


9
2018-03-28 02:20