第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用正則表達式從文本文件中提取標(biāo)記文本?

如何使用正則表達式從文本文件中提取標(biāo)記文本?

藍(lán)山帝景 2021-09-25 21:44:54
對于一個類,我需要提取元素之間的所有內(nèi)容<seg>......</seg>我正在嘗試通過 Python 來執(zhí)行此操作,而不是浪費時間手動執(zhí)行此操作(它超過 400 行)。我現(xiàn)在的代碼方式是這樣的(我在網(wǎng)上找到的一個代碼并做了一些更改,以便它不打印行號):import re                           err_occur = [] pattern = re.compile(r"<seg>(.*)</seg>")try:    with open ('corpus.txt', 'rt') as in_file:        for linenum, line in enumerate(in_file):            if pattern.search(line) != None:                err_occur.append((linenum, line.rstrip('\n')))        for linenum, line in err_occur:            print(line, sep='')except FileNotFoundError:    print("Input file not found.")我遇到的唯一問題是它會在結(jié)果中打印<seg>和</seg>,這是我不希望發(fā)生的。我嘗試創(chuàng)建組(您可以在我使用模式變量中的括號中看到),但我不知道如何操作代碼以僅返回組 1(我嘗試了許多不同的方法)。
查看完整描述

3 回答

?
哆啦的時光機

TA貢獻1779條經(jīng)驗 獲得超6個贊

您需要使用positive lookbehind和一個positive lookahead. 正則表達式中的<seg>and<\seg>會消耗一些文本,因此您可以在結(jié)果中看到它們,但是前瞻和后視只是分別檢查是否存在</seg><seg>是否存在,而不會消耗任何字符。它只匹配那些字符串。

TL;博士: 前瞻和回顧后匹配字符串中 <seg>string</seg>,而不是標(biāo)簽。

所以你的正則表達式應(yīng)該是這樣的(?<=<seg>).*(?=</seg>),這應(yīng)該沒問題。

有一些documantation這里


查看完整回答
反對 回復(fù) 2021-09-25
  • 3 回答
  • 0 關(guān)注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號