▲ 47 ▼ [2023 Day 4] Difficulty is all over the place (programming.dev) submitted 2 years ago by mac@programming.dev to c/advent_of_code@programming.dev 13 comments fedilink hide all child comments
[–] Black616Angel@feddit.de 1 point 2 years ago (1 child) Not only replacing didn't work. I did it as a regex, but Rusts regex crate only supports non-overlapping matches. permalink fedilink source parent hideshow 2 child comments replies: [–] Faresh@lemmy.ml 3 points 2 years ago (2 children) Python's re also only supports non-overlapping matches and only one direction, so what I did was spoilerI looked for the first digit/word using the regex. Then for the last digit/word, I inverted the string and the regex (so I was matching the words eno, owt, eerht, etc.) and took the first occurence, and inverted that in case it was a word, and then I had my last digit. I just had to pay attention to only include the |\d after inverting the regex, since d\| is not right. There are probably more elegant ways, but I couldn't come up with anything as simple as this. permalink fedilink source parent hideshow 4 child comments replies: [–] Black616Angel@feddit.de 2 points 2 years ago Oh, nice. I just replaced those compounded words with their non-overlapping counterparts. permalink fedilink source parent [–] dukk@programming.dev 2 points 2 years ago Oh, cool, I did pretty much the same thing, just finding the words manually instead (didn’t want to use any external libraries, so I just wrote a function to search for me. Haskell doesn’t have much for OOT B functionality). permalink fedilink source parent
[–] Faresh@lemmy.ml 3 points 2 years ago (2 children) Python's re also only supports non-overlapping matches and only one direction, so what I did was spoilerI looked for the first digit/word using the regex. Then for the last digit/word, I inverted the string and the regex (so I was matching the words eno, owt, eerht, etc.) and took the first occurence, and inverted that in case it was a word, and then I had my last digit. I just had to pay attention to only include the |\d after inverting the regex, since d\| is not right. There are probably more elegant ways, but I couldn't come up with anything as simple as this. permalink fedilink source parent hideshow 4 child comments replies: [–] Black616Angel@feddit.de 2 points 2 years ago Oh, nice. I just replaced those compounded words with their non-overlapping counterparts. permalink fedilink source parent [–] dukk@programming.dev 2 points 2 years ago Oh, cool, I did pretty much the same thing, just finding the words manually instead (didn’t want to use any external libraries, so I just wrote a function to search for me. Haskell doesn’t have much for OOT B functionality). permalink fedilink source parent
[–] Black616Angel@feddit.de 2 points 2 years ago Oh, nice. I just replaced those compounded words with their non-overlapping counterparts. permalink fedilink source parent
[–] dukk@programming.dev 2 points 2 years ago Oh, cool, I did pretty much the same thing, just finding the words manually instead (didn’t want to use any external libraries, so I just wrote a function to search for me. Haskell doesn’t have much for OOT B functionality). permalink fedilink source parent