http://www.perlmonks.org?node_id=800066

pat_mc has asked for the wisdom of the Perl Monks concerning the following question:

Hi, Monks -

I used to think of myself as reasonably proficient in the domain of regular expressions (maybe I should be treading carefully around here with that kind of claim)...until I recently wanted to scan one of my documents for multiple occurrences of arbitrary characters. Specifically, I wanted to see if, by accident, any character triplets were contained (such as in 'fullly').

Here's the question: What would a regex be to match all the misspell(l)t words? Clearly, /.{3}/ won't do the trick. I guess it needs to be a conditional thing such that, once it matches a character, it goes on to check whether the next two characters are the same. However, I have no idea how to code that.

Your help would be much appreciated.

Thanks in advance -

Pat

Replies are listed 'Best First'.
Re: Regex for matching n-fold repititions of arbitrary characters
by ikegami (Patriarch) on Oct 08, 2009 at 18:59 UTC
      Thanks, ikegami ... I knew there should be an easy way to do it ... but had not used backreferences in regexes before.

      One follow-up to your post: Is the s modifier really required?

      Thanks again!

      Pat
        Depends on what you want /./ to match. If you want to match repetitions of any character, yes. If you want to match repetitions of specific characters, no, since you won't be using /./.