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