如何使用正则表达式搜索具有特定出现次数的字符串?

时间:2011-11-15 21:00:56

标签: python regex

我正在使用正则表达式来搜索适合我的限制的字符串。例如,“HHHHLLLHHHHHLLLLL”,我想找到字母H的总出现次数大于8的字符串。

我尝试使用{8,}构建正则表达式来搜索H等于或大于8的出现。但是,它似乎不起作用。

Str1 = '"HHHHLLLHHHHHLLLLL"'
m = re.search(r'regex', Str1).group(0)

有人能给我一些建议吗?感谢。

2 个答案:

答案 0 :(得分:5)

re.search('(?:H[^H]*){8}', str1)
如果你的字符串中至少有8个H

会找到一个匹配项。

但这并不适合正则表达式; FailedDev的解决方案将更多更快,并且更容易理解。因此,除非你有另一个充分理由使用正则表达式,否则最好继续他的建议。

答案 1 :(得分:5)

无需使用正则表达式。

Str1 = '"HHHHLLLHHHHHLLLLL"'
if Str1.count("H") >= 8 : print "match"
相关问题