0

我有纯文本,需要提取公司名称。这是一个巨大的文件,包括公司名称、财务报告和大量文本。以下是公司名称的示例

  • 大洗衣房,如
  • 阿维拉, sro
  • Airoflot 航空公司,如

甚至可以像这样制作正则表达式吗?我是正则表达式的初学者,不知道如何创建这个。谢谢你的帮助。

文本示例:

`AVERA的竞争对手很多,sro主要是Airflot Airlines,as和Big洗衣店,sro这些组织占据了主要的市场份额。其他公司:

一个。大公司,如

湾。较小的公司,sro

C。巨大的公司,如`

4

4 回答 4

0

就目前的问题而言,不,不可能为公司名称创建正则表达式。

如果您能够创建 PATTERN,那将是可能的。

表示例如公司名称总是:

  • 以大写字母开头
  • 有逗号
  • 在逗号之后总是有“as”或“sro”之一

所以,我在这里看到的困难是:

  • 逗号前有多少个单词属于这个名字?
  • 以下缩写总是有逗号吗?

名称总是难以匹配,因为名称几乎可以代表所有内容,尤其是公司名称。

于 2013-04-16T07:24:27.600 回答
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."

但这不是一个非常可靠的解决方案:许多真实的公司名称不适合,更重要的是,这可能会匹配不是公司名称的句子。因此,这只能用作解决方案中的帮助,该解决方案还包含某种验证(基于人工或字典)。

于 2013-04-16T07:24:43.317 回答
0

我用这个

(?:\s*[a-zA-Z0-9,_\.\077\0100\*\+\&\#\'\~\;\-\!\@\;]{2,}\s*)*

它匹配所有 az、AZ、0-9 和 Quickbook 支持的一些特殊字符。 https://community.intuit.com/articles/1146006-acceptable-characters-in-the-company-name-in-quickbooks-online

于 2016-10-13T14:29:27.587 回答
-1

根据您给定的示例,此正则表达式将匹配

Big laundry, a\.s\.|AVERA, s\.r\.o\.|Airoflot Airlines, a\.s\.

诀窍是使用交替运算符 | 在一组字符串上

您不妨考虑在公司名称中缺少标点符号和空格

于 2013-04-16T07:14:10.063 回答