我有一个纯文本,需要提取公司名称。这是一份巨大的文件,包括公司名称,财务报告和大量文本。这些公司名称示例:
甚至可以像这样制作正则表达式吗?我是正则表达式的初学者,并且不知道如何创建这个。谢谢你的帮助。
文字示例:
`AVERA有很多竞争对手,s.r.o。主要是Airflot Airlines,a .s.和大洗衣店,s.r.o。这些组织占据了市场的主要份额。 另一家公司:
一个。大公司,a.s。
湾较小的公司,s.r.o。
℃。巨大的公司,a.s。
答案 0 :(得分:0)
目前的问题是,不可能为公司名称创建正则表达式。
如果你能够创建一个PATTERN,那将是可能的。
手段,例如公司名称总是:
所以,我在这里看到的困难是:
名称总是难以匹配,因为名称几乎可以是所有内容,尤其是公司名称。
答案 1 :(得分:0)
您提供的示例遵循以下模式:([A-Z][A-Za-z]+ ?)+, (\w\.)+
匹配操作取决于您使用的工具。
例如在JavaScript中:
var line = "some name is Airoflot Airlines, a.s. in this line";
var m = line.match(/([A-Z][A-Za-z]+ ?)+, (\w\.)+/);
if (m.length) console.log(m[0]);
记录
"Airoflot Airlines, a.s."
但这不是一个非常可靠的解决方案:许多真实的公司名称不适合,更重要的是,这可能与不是公司名称的句子匹配。因此,这只能用作解决方案的帮助,该解决方案还包含某种验证(基于人工或词典)。
答案 2 :(得分:0)
我用这个
(?:\s*[a-zA-Z0-9,_\.\077\0100\*\+\&\#\'\~\;\-\!\@\;]{2,}\s*)*
它匹配所有a-z,A-Z,0-9和Quickbook支持的一些特殊字符。 https://community.intuit.com/articles/1146006-acceptable-characters-in-the-company-name-in-quickbooks-online
答案 3 :(得分:-1)
根据您给出的示例,此正则表达式将匹配
Big laundry, a\.s\.|AVERA, s\.r\.o\.|Airoflot Airlines, a\.s\.
诀窍是使用交替运算符|在一组字符串上
您可能希望考虑在公司名称中缺少标点符号和空格