簡體   English   中英

如何使用正則表達式提取段落中的數據

[英]how to extract data in paragraph using regex

客戶參考 N139211508474572 輸入日期 05/19/2021 額外信息 NEFT IN UTR 來自S S 分銷商 N139211508474 572TXN REF NO 23621001323

如何提取供應商公司名稱,如 SS DISTRIBUTOR,在這個 FROM 在我擁有的多個數據中是恆定的,我做了正則表達式代碼來提取客戶參考號(?<=客戶參考)。+(?=輸入日期)像這樣它正在工作,並給我一個代碼來提取供應商公司名稱。

客戶參考號不是固定的,它會混合數字和字母或只有數字。

假設供應商公司名稱位於關鍵字FROM和客戶參考號之間,請嘗試:

Customer Reference (.*).* FROM (.*) \1

Group2 捕獲供應商公司名稱SS DISTRIBUTOR

演示

您沒有指定您實際使用的語言,正如@some-programmer-dude提到的,正則表達式不一定是在字符串中搜索的最佳解決方案。

您標記python ,因此假設您正在使用它,您可以考慮使用splitindex來獲取FROM之后的任何內容和REF之前的 2 個單詞:

s = "Customer Reference N139211508474572 Entry Date 05/19/2021 Extra Information NEFT IN UTR FROM S S DISTRIBUTOR N139211508474 572TXN REF NO 23621001323"
# Convert all to UPPER case first
s = s.upper()
# Clean unnecessary whitespaces first just in case
s = " ".join(s.split())
# Get all text after FROM
s = s.split("FROM")[1]
# Get all text which are 2 words before REF
index_of_REF = s.split().index("REF")
s = " ".join(s.split()[:index_of_REF-2])
print(s)

這給出了:

S S DISTRIBUTOR

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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