Because there’s non-programmers in this community, if you aren’t sure what this means but are too afraid to ask, it’s a Regular Expression that better represents the terms “Linux” and “Unix.”
Though if we’re going to be that pedantic, it would be [nN][uiI][xX]$. That extra pipe wouldn’t actually do anything in the last example, because regexp picks one character from the set by default.
And if we want to be really pedantic,
(?!nix)[nN][uI][xX]$
Would be the most accurate.
Edit: based on comments, I think…
(nux|NIX)$
…would be the best. Then you don’t wind up with weird matches with things like UNiX.
Actually *nix isn’t a Regular Expression, because the star operator * requires a preceding character or object to apply to. This is a wildcard for the shell style globbing, where a single star doesn’t require a second object.
Yes, but you can really only do that with single characters, since your first example is an ordered group and the second is an unordered set in a capturing group. The equivalency drops off when you include more characters.
Plus, you can do things like [a-zA-Z], and you can’t do that with the former example.
I would imagine there’s a difference in computing overhead, too, but I have no idea which is more performant.
Because there’s non-programmers in this community, if you aren’t sure what this means but are too afraid to ask, it’s a Regular Expression that better represents the terms “Linux” and “Unix.”
Though if we’re going to be that pedantic, it would be
[nN][uiI][xX]$
. That extra pipe wouldn’t actually do anything in the last example, because regexp picks one character from the set by default.And if we want to be really pedantic,
(?!nix)[nN][uI][xX]$
Would be the most accurate.
Edit: based on comments, I think…
…would be the best. Then you don’t wind up with weird matches with things like
UNiX
.We’re talking about Unix so being as pedantic as possible is actually required.
Actually
*nix
isn’t a Regular Expression, because the star operator*
requires a preceding character or object to apply to. This is a wildcard for the shell style globbing, where a single star doesn’t require a second object.Isn’t
(I|U)
equivalent to([IU])
?Yes, but you can really only do that with single characters, since your first example is an ordered group and the second is an unordered set in a capturing group. The equivalency drops off when you include more characters.
Plus, you can do things like
[a-zA-Z]
, and you can’t do that with the former example.I would imagine there’s a difference in computing overhead, too, but I have no idea which is more performant.
*nix
is more likely to be a glob, therefore an accurate version would be*n?x
Edit: global -> glob dang autocorrect
at that point we could just flip the switch for the case insensitive mode
But then you’d match terms like “liNuX” and “UniX,” and that’s just silly. 😆
The pattern they made already does that though lmao.
That’s true! Good catch. Regexp is a fun challenge.
deleted by creator
Yep, it would match LUNIX and Binux, but it would not match Bunix because of the negative lookahead.
deleted by creator