• Telorand@reddthat.com
    link
    fedilink
    arrow-up
    16
    arrow-down
    1
    ·
    edit-2
    5 hours ago

    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.

    • thingsiplay@beehaw.org
      link
      fedilink
      arrow-up
      5
      ·
      2 hours ago

      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.

      • Telorand@reddthat.com
        link
        fedilink
        arrow-up
        3
        ·
        3 hours ago

        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.