同學們,
我有一堆 PDF(IPO 招股說明書),我需要從中提取特定資訊(關于贊助每次 IPO 的投資銀行或“贊助商”)。我已經撰寫了使用 PyPDF2 從每個 PDF 中提取文本的代碼。現在要獲取“贊助商”資訊,我需要撰寫一個具有以下邏輯的正則運算式:
提取出現的文本:
- 在“參與……的各方”之后出現的“聯合發起人”或“獨家發起人”之后
(出現這種雙重條件的原因是,您會發現在 500 多頁的檔案中到處都使用了“聯合發起人”或“獨家發起人”的字樣,但只有在“涉及...的各方”部分是“聯合發起人” ”或“獨家保薦人”,然后是銀行的實際資訊。存在OR條件,因為任何 IPO 都可以有聯合或獨家保薦人。)
- 在“法律顧問”之前
請參閱下面從 500 多頁招股說明書中提取的示例文本,您可以在上面測驗您的代碼,看看它是否僅提取銀行資訊 - 非常感謝您的幫助!
本檔案為草稿形式,不完整且可能會更改,并且必須結合本檔案封面上標題為“警告”的部分閱讀資訊。董事及參與[編纂] 參與的各方[編纂] 聯席保薦 人中國國際金融香港證券有限公司香港中環港景街1號國際金融中心一期29樓中國證券(國際)金融有限公司香港中環康樂廣場 8 號交易廣場二期 18 樓 [編纂] – 166 – 本公司的法律顧問 香港及美國法律:歐美律師事務所 香港干諾道中 1 號友邦中環 31 樓
uj5u.com熱心網友回復:
下面應該是你要找的。但是,如果這些模式確實在檔案中出現多次。您可能需要考慮壓縮搜索以減少誤報。
也許反向搜索?因為聽起來這個文本應該在檔案的末尾。
請務必IGNORECASE在 python 正則運算式中啟用大小寫標志,或修復正則運算式中的大小寫以匹配您期望所有檔案具有的內容。
(?:PARTIES INVOLVED IN). (?:Joint sponsors|Sole sponsor)(. )(?:Legal Advisers to the Company)
正則運算式演示
(?:PARTIES INVOLVED IN) - Search for "Parties Involved In"
. - Match on any number of characters until you find the next part
(?:Joint sponsors|Sole sponsor) - Match on 'Joint Sponsors' OR 'Sole Sponsor'
(. ) - Capturing group on the text I'm thinking you're wanting
(?:Legal Advisers to the Company) - Stop the capturing group when you see `Legal Advisers to the Company`
匹配組將從示例文本中捕獲以下內容:
中國國際金融香港證券有限公司 香港中環港景街 1 號國際金融中心一期 29 樓 中國證券(國際)金融有限公司 香港中環康樂廣場 8 號交易廣場二期 18 樓 [編纂] – 166 –
uj5u.com熱心網友回復:
這種正則運算式模式似乎有效
pattern = (?<=PARTIES INVOLVED IN. Joint Sponsors|Sole Sponsor). (?=Legal Advisers)
list_of_matches = re.findall(pattern, string)
獲取匹配串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/410307.html
標籤:
下一篇:Firefox和GoogleChrome使用.sort(()=>Math.random()-0.5)創建或排序陣列的差異;
