NateNate60@lemmy.world to Programmer Humor@lemmy.ml · edit-22 months agoOh boy what a beautiful regex. I'm sure it does something logical and easy to understand.lemmy.worldimagemessage-square83fedilinkarrow-up1344arrow-down110file-text
arrow-up1334arrow-down1imageOh boy what a beautiful regex. I'm sure it does something logical and easy to understand.lemmy.worldNateNate60@lemmy.world to Programmer Humor@lemmy.ml · edit-22 months agomessage-square83fedilinkfile-text
^.?$|^(..+?)\1+$ <answer> Matches strings of any character repeated a non-prime number of times https://www.youtube.com/watch?v=5vbk0TwkokM
minus-squareRegalPotoo@lemmy.worldlinkfedilinkEnglisharrow-up10·edit-22 months agoSomething like !“A line with exactly 0 or 1 characters, or a line with a sequence of 1 or 3 or more characters, repeated at least twice”!<
minus-squarenaonintendois@programming.devlinkfedilinkarrow-up8·2 months agoYou’re misreading the ..+? part. That means 2 or more characters, non greedy.
minus-squareNateNate60@lemmy.worldOPlinkfedilinkarrow-up4arrow-down1·2 months agoIt’s a line with a sequence of two or more characters repeated at least twice.
minus-squareMummifiedClient5000@feddit.dklinkfedilinkEnglisharrow-up4·2 months agoOnly the part after the pipe character. The pipe character works as an “or” operator. RegalPotoo is right.
minus-squareNateNate60@lemmy.worldOPlinkfedilinkarrow-up3·2 months agoThey said— A line with exactly 0 or 1 characters, or a line with a sequence of 1 or 3 or more characters, repeated at least twice Note— …or a line with a sequence of 1 or 3 or more characters, repeated at least twice It should be— …or a line with a sequence of 2 or more characters, repeated at least twice The regex in the post will match “abab”. Their original description (line 2 of this comment) will not match “abab”.
minus-squareMummifiedClient5000@feddit.dklinkfedilinkarrow-up4·2 months agoI agree, you’re right about the part after the pipe and RegalPotoo’s explanation was not entirely correct.
Syntactically valid Perl
Something like
You’re misreading the
..+?
part. That means 2 or more characters, non greedy.It’s a line with a sequence of two or more characters repeated at least twice.
Only the part after the pipe character. The pipe character works as an “or” operator. RegalPotoo is right.
They said—
Note—
It should be—
The regex in the post will match “abab”. Their original description (line 2 of this comment) will not match “abab”.
I agree, you’re right about the part after the pipe and RegalPotoo’s explanation was not entirely correct.