繁体   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