0
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
この機能は、私が思うにしても思ったことをしていないはずです。私はそれをデバッグしようとしましたが、pdbには不透明なようです。問題はtocが厳密に上昇するはずですが、私は結果が得意です目次の構文解析の文章
toc = [513, 435, 378, 486, 650, 789, 942]
何が起こっているか
テキスト[i:]を増やすだけで検索が逆にジャンプするのはなぜですか?
なぜパターンとmがpdbに表示されないのですか?
コンテキストをオプションの部分文字列として定義しました。少なくとも単語境界を設定してみてください。 'r '\ b' + str(chapter)+ r '\ b'' –