•  Faresh   ( @Faresh@lemmy.ml ) 
    link
    fedilink
    English
    37 months ago

    Python’s re also only supports non-overlapping matches and only one direction, so what I did was

    spoiler

    I 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.