892
top 50 comments
sorted by: hot top new old
[-] frezik@midwest.social 31 points 2 years ago

It helps if you break it apart into its component parts. Which is like anything else, really, but we've all accepted that regexes are supposed to run together in an unreadable mess. No reason it has to be that way.

[-] marcos@lemmy.world 17 points 2 years ago

If they are Perl regexes, like all regexes are supposed to be, you can have non-semantic whitespace and comments.

But if you are using some system that enforces something different, you are out of luck.

[-] frezik@midwest.social 6 points 2 years ago

Not necessarily. For just debugging purposes, you can still break them up to help understand them. Even ignoring that, there are options in languages that don't implement /x.

https://wumpus-cave.net/post/2022/06/2022-06-06-how-to-write-regexes-that-are-almost-readable/index.html

At my company we store our regex in the database with linebreaks in it, but when it's actually called to be used those line breaks are stripped out. That way regex that looks for X can all be all on one line and actually readable.

[-] tyler@programming.dev 10 points 2 years ago

wait... why do you have so many regexes you need to put them in a database???

[-] wise_pancake@lemmy.ca 5 points 2 years ago

The comments flag needs more support.

[-] Kng@feddit.rocks 27 points 2 years ago

I have found chatgpt to be very good at writing regex. I also don't know how to write regex.

[-] Mirodir@discuss.tchncs.de 16 points 2 years ago

In my experience, it is good at simple to medium complexity regex. For the harder ones it starts being quite useless though, at best providing a decent starting point to begin debugging from.

[-] SwordInStone@lemmy.world 6 points 2 years ago

well, you won't get better using chatgpt for it

[-] AngryClosetMonkey@feddit.nl 24 points 2 years ago

Just pop them into regex101 or a similar tool, add sample data, see the mistake, fix the mistake, continue to do other stuff.

[-] WhyJiffie@sh.itjust.works 4 points 2 years ago

Just pop them into regex101 or a similar tool, add sample data, ~~see the mistake, fix the mistake, continue to do other stuff.~~ it works there, pull hair

FTFY

[-] marine_mustang@sh.itjust.works 21 points 2 years ago
[-] gofsckyourself@lemmy.world 31 points 2 years ago
[-] echindod@programming.dev 4 points 2 years ago

This is the one I use! Might have to look at regexer though

[-] exu@feditown.com 21 points 2 years ago

I usually do

# What we are doing (high level)
# Why we need regex
# Regex step by step
# Examples of matches
regex

And I still rewrite it the next time

[-] InnerScientist@lemmy.world 17 points 2 years ago* (last edited 2 years ago)
// abandon all hope ye who commit here
(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

Edith: damit, Not the first to post this abomination

[-] AI_toothbrush@lemmy.zip 15 points 2 years ago

Me checking my own docs: "this is some voodoo shit, idk how it works"

[-] muntedcrocodile@lemm.ee 3 points 2 years ago

That's what my comments say

[-] Skyrmir@lemmy.world 13 points 2 years ago

Never debug regex, just generate a new one. It's not worth the hassle to figure out not only what it does, but what it was meant to do.

Better yet, just write it out in code, and never use regex. Tis a stupid thing that never should have been made.

[-] potustheplant@feddit.nl 16 points 2 years ago* (last edited 2 years ago)

Hard disagree. The function regex serves in programs like Notepad++ can't be easily replaced by "writing it out in code". With a very small number of characters you can get complex search patterns and capturing groups. It's hard to read but incredibly useful.

[-] kunaltyagi@programming.dev 6 points 2 years ago* (last edited 2 years ago)

Can't upvote twice, have a low effort comment instead

load more comments (12 replies)
[-] sakodak@lemmy.world 4 points 2 years ago

Regex is a write only language.

load more comments (1 replies)
[-] MTK@lemmy.world 12 points 2 years ago

Downvoted so that everyone can know I'm cool since I understand regex better than the idiot who made that meme.

[-] fmstrat@lemmy.nowsci.com 9 points 2 years ago

I know I'm weird, but I love regex.

[-] verstra@programming.dev 9 points 2 years ago* (last edited 2 years ago)

If I have a complex regular expression to code into my app, I write it in pomsky, then copy paste the compiled regex to my source file, but also keep the pomsky source nearby. Much more maintainable.

[-] LovableSidekick@lemmy.world 7 points 2 years ago

LOL yeah that's about right.

[-] vk6flab@lemmy.radio 7 points 2 years ago

There are a few online regex testing tools that will analyse your efforts and give you the opportunity to provide sample data.

[-] over_clox@lemmy.world 7 points 2 years ago* (last edited 2 years ago)

This is basically code refactoring on a simplified level. You're basically renaming a whole bunch of functions/tokens at once.

Let's say you're renaming the variable 'count' under the method 'buttplug'. First off, what do you rename it to?

You start by replacing every instance of buttplug.count with a unique token, let's say tnuoc.gulpttub.

Then you replace that buttplug with a unique buttplug.

Simple.

[-] Trail@lemmy.world 4 points 2 years ago

Then you replace that buttplug with a unique buttplug.

Rare buttplugs with good affixes are better than unique buttplugs.

[-] DrDeadCrash@programming.dev 6 points 2 years ago

Aziz! LIGHT!

[-] psmgx@lemmy.world 6 points 2 years ago

Ohhhhh it was this extra '

[-] kamen@lemmy.world 4 points 2 years ago

There are no bugs, it's just not doing what you expect it to be doing...

... which, now that I think of it, can be said about all software in general.

[-] Prime_Minister_Keyes@lemm.ee 3 points 2 years ago
load more comments
view more: next ›
this post was submitted on 14 Feb 2025
892 points (98.4% liked)

Programmer Humor

33155 readers
462 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 3 years ago
MODERATORS