嗨那些对python有点麻烦的家伙我试图计算一行中某一组字符出现多少次,无论如何我可以计算它但是它算得上4即。
a = raw_input('insert pirate bob speak line line 1 - ')
b = raw_input('insert pirate bob speak line line 2 - ')
c = raw_input('insert pirate bob speak line line 3 - ')
我试图计算句子中有多少次rr,但只有当出现双重问题时,我才能使用 1.yarrrr harrr 的必要输入启动完整代码 我心痛 和一瓶rrrrum 它计算双重的数量我想知道有多少句子包含双r
答案 0 :(得分:1)
如果您希望每行找到一个rr:
import re
myline = 'harrrr!'
matches = re.findall('(rr+)',myline)
if matches:
print "exactly",len(matches)," rr was found"
说明:
要了解有关正则表达式的更多信息,请键入 帮助(重)
这个特殊的正则表达式说: 搜索一行中包含两个或更多“r”
的所有组如果要搜索rr-s但不搜索rrrs,请使用:
re.findall('(?:[^|[^r])(rr)(?:[^r]|$)', 'harrrarrr')
哪个稍微困难一些(搜索所有那些'rr',其前面是一个不是r的字符或者从那里开始的字符,后跟一个不是r的字符,或者该行结束那里,而不关心这些以下和前面的人物)
通常,您可以通过以下方式改善“控制流程”:
import re
while True: #forever or at least until break-[up], you know, love-style forever;)
line = raw_input("Howdy? ")
if line: # if the user actually typed in something
matches = re.findall('(rr+)',line)
if matches:
print "exactly",len(matches)," rr was found"
else:
print "you'rrre NOT a pirrate!"
else:
break #quit