Account in picture was banned within minutes of posting this information

  • PaX [comrade/them, they/them]
    ·
    edit-2
    4 months ago

    Hi, idk if you saw my other reply, but I have returned with the promised regular expression capable of doing this kitty-cri-potato (at least when parsed by PCRE and similar)

    (?<=(?<!\\)\[|(?<!\\), ).*?(?=(?<!\\)]|(?<!\\),)

    It will match each username/regex matching usernames as an individual substring

    In the end I didn't need recursion and managed to accomplish the task by using nested lookarounds and making the assumption that brackets and commas are escaped with backslashes. It could probably be further simplified by using subroutines that some regex parsers are capable of using. Also it is most likely possible to write a regex that doesn't require escaping brackets, besides when you need to escape brackets when writing regexes anyway ofc. The requirement that commas be escaped is analogous to requiring that quotes be escaped inside a string literal if instead the usernames/regexes that match usernames were enclosed in quotes

    I uhhhh don't write many regexes blob-no-thoughts

    There's probably something to be said about this task being easier to accomplish in languages "more powerful" (in chomsky-yes-honey terms: "Chomsky hierarchy") than regular languages but I'm not chomsky-yes-honey (kamala-coconut-tree-free languages, etc contextphobic )

    I have a tendency toward owning myself, if you find a way to break my regex without breaking the assumptions specified above I will be further owned

    • footfaults [none/use name]
      ·
      4 months ago

      Here's the the thing. The snippet that was posted by that account is not any known format. It's not YAML, it's not INI syntax, it's not JSON, or TOML, or anything that is a common configuration syntax. It's not valid JS. It's bullshit. It's just close enough to programming code that it would maybe convince some people.

      So, while you spent a lot of time proving that you if you were forced to work with this file, there's an incredibly nasty set of regex and parsing that you could do to make this actually work, there's absolutely no reason why this would be done.

      • PaX [comrade/them, they/them]
        ·
        4 months ago

        People rolling their own formats isn't really that uncommon. And besides, that file is one s/ =/:/g away from being valid YAML. There might even be a YAML or TOML parser around that will accept this, idk

        there's an incredibly nasty set of regex and parsing that you could do to make this actually work

        It only really looks nasty cuz I wanted to "parse" this file mentioning regex with regex for fun lol, it's basically YAML

        The syntax of that file isn't the sus part imo. I feel like I'm being an annoying pedant but yeah

    • footfaults [none/use name]
      ·
      edit-2
      4 months ago

      I saw your comments. I was trying to get home and use my FreeBSD machine to reply since I was on mobile today and of course amdgpu decided to start causing kernel panics so it ate all my time. I'll respond probably tomorrow evening.

      You've done enough work where it is worth having a full discussion instead of trying to type something up on my mobile device. It's all good stuff, you put the work in

      • PaX [comrade/them, they/them]
        ·
        edit-2
        4 months ago

        Ohh, you're good, I hope I didn't make you feel pressured to reply or anything. Sometimes I just start writing and it ends up being a lot lol, besides I just like writing regular expressions sometimes lol

        Also 07 to another BSD user. I'm speaking to you with an OpenBSD machine rn lol. I hope you got your kernel panicking fixed

        Post stack trace here if you want help perhaps, I've also had to debug BSD kernels before (although the graphics stuff is mostly ripped straight from Linux lol)