matching 3 or more of the same character in python

2020-06-17 01:37发布

I'm trying to use regular expressions to find three or more of the same character in a string. So for example: 'hello' would not match 'ohhh' would.

I've tried doing things like:

re.compile('(?!.*(.)\1{3,})^[a-zA-Z]*$') 
re.compile('(\w)\1{5,}')

but neither seem to work.

标签: python regex
2条回答
够拽才男人
2楼-- · 2020-06-17 02:20

if you're looking for the same character three times consecutively, you can do this:

(\w)\1\1

if you want to find the same character three times anywhere in the string, you need to put a dot and an asterisk between the parts of the expression above, like so:

(\w).*\1.*\1

The .* matches any number of any character, so this expression should match any string which has any single word character that appears three or more times, with any number of any characters in between them.

Hope that helps.

查看更多
霸刀☆藐视天下
3楼-- · 2020-06-17 02:23

(\w)\1{2,} is the regex you are looking for.

In Python it could be quoted like r"(\w)\1{2,}"

查看更多
登录 后发表回答