That third one is also sad
Must be bad at regular expressions. I generally get far more than one extra problem when using them.
No, you see, the RG was to solve the problems
The past tense of regex is regrets.
Perl being the first language I started learning, this makes me happy. Oh shit, press the button for the dog!
Panting can also be a sign of stress with dogs
Practice safe hex as they say…
fucking perl! Loved it…
Why waste time doing any matching if wantarray == false? Just do:
if(!wantarray) { return 1; }Before any matching happens, or if you only want one return statement set the value of a variable in if(!wantarray)/elsif(regex) and return that variable at the end.
Im predicting AI. Alternatively random screenshot from Google, which is probably AI.
Everyone loves perl though! /s

What the hell kind of disgusting language is that? I need to know so I can avoid it at all costs.
https://en.wikipedia.org/wiki/Regular_expression
You can use it in any language.
Not sure if joking, but that looks like Perl.
I haven’t used it in like 20 years. There is a way to write it so that it’s not insane. You can write it kind of like C. But no one does that. So you end up looking at this crap.
It’s been referred to as a “write-only” language, as it’s not readable.
The post is written in English 😔
*sees rfc822 in a regular expression*
I bet that’s the email specification. That’s probably an email address parser.
*checks*
Perhaps worth adding that verifying an e-mail address via regex is difficult and not actually that useful.
Difficult, because a lot of e-mail addresses are syntactically valid. For example,
a@bis valid. As isa@1.2.3.4. As is"spaces are cool 😎"(with the quotes).And it’s not that useful, because you need to send out an e-mail either way, if you want to know that it’s the correct address and the user has access to it. A regex can’t catch a typo in the actual words, for example.
If you want a basic sanity check to catch when the user types their name into the e-mail field, then you can require that it contains an
and, if you want, that there’s at least one symbol before and after.
If you go beyond that, you either need a massive regex or you’re going to lock out users with unusual e-mail addresses.Yep, these email address validation tools are the bane of my existence. I use a non-typical TLD and it sometimes gets flagged as invalid because it’s not .com, .net, or .org.
I wrote one parser that checked the top level domain against a txt of all top level domains downloaded from Icann once a day. Was kind of proud of that one.
That’s a pretty clever way of doing it!
I’ve found many systems don’t work with the .company TLD!
or some u.s.-centric ones that break with .co.uk
Top notch shitpost. Extra credit for perl!
I never understood why are people scared of regular expressions. I love them and they can be quite usefull.
Here is an example of one regex I wrote recently - it is used in replace:
(?:^-\[[^[]+\]$| ?\[.+?\] ?)I could use a use case. RegEx are pretty “what does it mean” without what it’s targeted on.
that feels overcomplicated. you’re always matching on square brackets anyway, so why make it a conditional? and one case not allowing spaces seems inconsistent…
It may feel like it, but I needed to handle all the edge cases. But if you think it can be simplified, I’m willing to learn.
without knowing the format of the input data or what flags you’re using it’s obviously a bit harder to reason about, but since you’re doing a replace i assume you don’t care about the content of the bracketed text, you just want to remove it. the way i’m reading yours is
(?: # don't store this group # either ^ # start of line -\[[^[]+\] # a -, a [ followed by at least one non-[, then a ] (passing one is fine) $ # end of line | # or ? # maybe one space \[.+?\] # a [ followed by at least one character, then a ] (don't pass any) ? # maybe one space )since the two branches are almost identical, you can probably compact it into
-?\s*\[.+?\]\s*. maybe a dash, then maybe some space, then angle brackets around something, then maybe more space.You are right. It is just removal of the bracketed text. The input is multi-line string, so only flag used was the multi-line mode.
These are string lines I have encountered and how I wanted to change them:
1. "[...]" -> "" 2. "-[...]" -> "" 3. "-[...] text" -> "-text" 4. "-text [...]" -> "-text" 5. "[...] text [...]" -> "text" 6. "-[...] text [...]" -> "-text"The main point is that I needed to remove the dash only if there is no other text on the line.
I have tried the regex you are suggesting at the beginning, but it failed at points (3) and (6).
EDIT: It just occurred to me that the first line of my comment sounds like stupid AI. 🤦
Must be irony






