NateNate60@lemmy.world to Programmer Humor@lemmy.ml · edit-224 days agoOh boy what a beautiful regex. I'm sure it does something logical and easy to understand.lemmy.worldimagemessage-square83fedilinkarrow-up1340arrow-down110file-text
arrow-up1330arrow-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-224 days 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-224 days 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·24 days agoYou’re misreading the ..+? part. That means 2 or more characters, non greedy.
minus-squareNateNate60@lemmy.worldOPlinkfedilinkarrow-up4arrow-down1·24 days agoIt’s a line with a sequence of two or more characters repeated at least twice.
minus-squareMummifiedClient5000@feddit.dklinkfedilinkEnglisharrow-up4·24 days agoOnly the part after the pipe character. The pipe character works as an “or” operator. RegalPotoo is right.
minus-squareNateNate60@lemmy.worldOPlinkfedilinkarrow-up3·24 days 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·24 days 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.