• BassTurd@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    8 hours ago

    How do you think that would look? Regex isn’t particularly complicated, just a bit to remember. I’m trying to picture how you would represent a regex expression in a higher level language. I think one of its biggest benefits is the ability to shove so much information into a random looking string. I suppose you could write functions like, startswith, endswith, alpha(4), or something like that, but in the end, is that better?

    • frezik@midwest.social
      link
      fedilink
      arrow-up
      4
      ·
      8 hours ago

      People have unironically done that. No, it isn’t better. The fundamental mental model is the same.

    • Skullgrid@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      8 hours ago

      I suppose you could write functions like, startswith, endswith, alpha(4), or something like that,

      yes.

      but in the end, is that better?

      YES.

      startswith('text');
      lengthMustBe(5);
      onlyContain(CHARSETS.ALPHANUMERICS); 
      endswith('text');
      

      is much more legible than []],[.<{}>,]‘text’[[]]][][)()(a-z,0-9){}{><}<>{}‘text’{}][][

      • BassTurd@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        8 hours ago

        Assuming “text” in your example is a placeholder for a 5 digit alpha string, it can be written like this in regex: /[a-zA-Z0-9]{5}/

        If ”text" is literal, then your statement is impossible.

        I think that when it gets to more complex expressions like a phone number with country code that accepts different formats, the verbosity of a higher level language will be more confusing, or at least more difficult to take in quickly.