Regex for repeated character?

Peter Otten __peter__ at web.de
Thu Jun 16 04:03:50 EDT 2005


Leif K-Brooks wrote:

> How do I make a regular expression which will match the same character
> repeated one or more times, instead of matching repetitions of any
> (possibly non-same) characters like ".+" does? In other words, I want a
> pattern like this:
> 
>  >>> re.findall(".+", "foo") # not what I want
>  ['foo']
>  >>> re.findall("something", "foo") # what I want
>  ['f', 'oo']

This is as close as I can get:

>>> [m.group() for m in re.compile(r"(.)(\1*)").finditer("foo bar baaaz")]
['f', 'oo', ' ', 'b', 'a', 'r', ' ', 'b', 'aaa', 'z']

Peter




More information about the Python-list mailing list