簡體   English   中英

解析目錄文本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM