Extended regular expressions (ERE) for .gitignore
Asked Answered
C

2

35

Is there a way to use extended regular expressions(ERE) in a .gitignore file? For example I want to use the + repetition character in a .gitignore file. Is there a way to do that?

Contrast answered 28/3, 2013 at 1:22 Comment(0)
C
34

As illustrated here and detailed in "this question", the function fnmatch() is involved to interpret glob patterns, which means regular expressions are not supported.

This is what gitignore man page mentions:

Otherwise, git treats the pattern as a shell glob suitable for consumption by fnmatch(3) with the FNM_PATHNAME flag: wildcards in the pattern will not match a / in the pathname.
For example, "Documentation/*.html" matches "Documentation/git.html" but not "Documentation/ppc/ppc.html" or "tools/perf/Documentation/perf.html".

You can see some correspondence between glob patterns and regular expressions in those questions.

Charr answered 28/3, 2013 at 7:28 Comment(0)
U
13

The .gitignore (and other) files use filename globs, not regular expressions.

I very much doubt you can convince the git hackers to change that: Just too ingrained by now, and globs are much more familiar as filename matchers.

Unsteel answered 28/3, 2013 at 2:20 Comment(4)
That's a pity. Such a handy feature could it be.Yodel
@ArturBarseghyan, consider Mercurial, it has that neat feature and many other cool features too.Semblance
@modchan: I know it exists in Mercurial and I use it a lot. Thanks for the comment anyway.Yodel
Has someone tried submitting a patch? Who knows, perhaps the git hackers would also find this useful.Counterirritant

© 2022 - 2024 — McMap. All rights reserved.