[英]Parsing text for table of contents
def table_of_contents(text):
i = 0
toc = []
for chapter in range(1,60):
pattern = re.compile(r'(\S+ )?(' + str(chapter) + ')( \S+)?', re.I)
m = pattern.search(text[i:])
if m is not None:
toc.append(m.start())
i = m.start()
else:
break
return toc
即使我認為應該執行該功能,也無法實現我想要的功能。 我已經嘗試調試它,但是re對於pdb似乎是不透明的。 問題是toc應該嚴格提高,但是我得到的結果是
toc = [513, 435, 378, 486, 650, 789, 942]
怎么了?
為什么在僅增加text [i:]時搜索會向后跳?
為什么pattern和m無法顯示在pdb中?
我是個白痴。 re.search(text [i:])從0而不是i返回m.start()
def table_of_contents(text):
i = 0
toc = []
for chapter in range(1,60):
pattern = re.compile(r'(\S+ )?(' + str(chapter) + ')( \S+)?', re.I)
m = pattern.search(text[i:])
if m is not None:
toc.append(m.start() + i)
i += m.start()
else:
break
return toc
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.