Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot

Regex for matching n-fold repititions of arbitrary characters

by pat_mc (Pilgrim)
on Oct 08, 2009 at 18:53 UTC ( #800066=perlquestion: print w/replies, xml ) Need Help??
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 -


Replies are listed 'Best First'.
Re: Regex for matching n-fold repititions of arbitrary characters
by ikegami (Pope) 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!

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

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://800066]
Approved by ikegami
[stevieb]: ask a question on SoPW, and include at least a half-dozen examples of the input, and at least one example of expected output
[davido]: Exactly: SoPW. This isn't going to be solved easily in the CB.
[james28909]: in need "yesterday" and so on, to be absolute like "1" or "31"
[stevieb]: ...and throw some of your existing code into the equation as well, just so readers know you've given a try at it ;)
[james28909]: ok
[stevieb]: davido thanks for the link ;) I was being the typical lazy
[davido]: date parsing is hard. The more examples you can provide of the input (within reason) and expected output, the better.
[stevieb]: agreed. That's why I said at least a half-dozen. If enough of the different formats are present, the date/time folk may not have to request more. If they do, then at least there was a decent base to start with
[stevieb]: I do date and time transformations in both Perl and Python, but not frequently enough to not have to search for the format params etc ;)

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (3)
As of 2017-04-29 02:40 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (531 votes). Check out past polls.