• dactylotheca
    link
    fedilink
    English
    756 months ago

    Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.

    • qaz
      link
      266 months ago

      Regex really isn’t that bad when using named capture groups.

      • dactylotheca
        link
        fedilink
        English
        176 months ago

        Oh yeah they definitely have uses, but there’s a real tendency for people to go a bit crazy with them. Complex regexen aren’t exactly readable, there’s all kinds of fun performance gotchas, there’s sometimes other tools/algorithms that are more suitable for the task, and sometimes people try to use them to eg. parse HTML because they don’t know that it is literally impossible to use regular expressions to parse languages that aren’t regular

          • dactylotheca
            link
            fedilink
            English
            7
            edit-2
            6 months ago

            Oh yeah, extensions which make them non-regular definitely can make it possible, but just because it’s now somewhat possible with some regex engines doesn’t mean it’s a good idea

        • @FooBarrington
          link
          56 months ago

          I’ve once written a JS decompiler (de-bundler?) using ~150 regex for step-wise transformations. Worked surprisingly well!

            • @FooBarrington
              link
              26 months ago

              Well… No new ones, at least? Though it was around that time that I started hearing whispers in the night… “You can use WASM to ship Client-Side PHP”

        • @[email protected]
          link
          fedilink
          English
          36 months ago

          it is literally impossible to use regular expressions to parse languages that aren’t regular

          It’s impossible to parse the whole syntax tree, but that doesn’t mean you can’t get the subset you’re interested in.

    • @MashedTech
      link
      26 months ago

      I learned Regex once and now it just works. Only problem for me is using MacOS so the Regex flavors aren’t consistent. But once I sort that, it’s smooth sailing.