Regex 正则表达式-公司名称

Regex 正则表达式-公司名称,regex,Regex,我有一个纯文本,需要提取公司名称。这是一个庞大的文档,包括公司名称、财务报告和大量文本。以下是公司名称的示例: 大洗衣房,a.s 阿维拉,s.r.o 航空公司 有可能让正则表达式变成这样吗?我是正则表达式的初学者,不知道如何创建这个正则表达式。谢谢你的帮助 文本示例: `AVERA,s.r.o.有许多竞争对手。主要的竞争对手是机场航空公司,a.s.和s.r.o.大洗衣店。这些组织占据了市场的主要份额。 其他公司: a。大公司 b。较小的公司,s.r.o c。大型公司,a.s.`根据您给出的示

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

  • 大洗衣房,a.s
  • 阿维拉,s.r.o
  • 航空公司
有可能让正则表达式变成这样吗?我是正则表达式的初学者,不知道如何创建这个正则表达式。谢谢你的帮助

文本示例:

`AVERA,s.r.o.有许多竞争对手。主要的竞争对手是机场航空公司,a.s.和s.r.o.大洗衣店。这些组织占据了市场的主要份额。 其他公司:

a。大公司

b。较小的公司,s.r.o


c。大型公司,a.s.`

根据您给出的示例,此regexp将匹配

Big laundry, a\.s\.|AVERA, s\.r\.o\.|Airoflot Airlines, a\.s\.
诀窍是在一组字符串上使用交替运算符|


<>你可能会考虑在公司名称中缺少标点符号和空白,因为现在的问题

,不可能创建公司名称的正则表达式。 如果您能够创建一个模式,这是可能的

指例如公司名称始终:

  • 以大写字母开头
  • 有一个逗号
  • 逗号后总是有一个“a.s.”或“s.r.o.”
因此,我在这里看到的困难是:

  • 逗号前有多少个单词属于名称
  • 是否总是有一个逗号和以下缩写

名称总是很难匹配,因为名称几乎可以是一切,尤其是公司名称。

您给出的示例遵循以下模式:
([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."
但这并不是一个非常可靠的解决方案:许多真实的公司名称都不合适,更重要的是,这可能会匹配非公司名称的句子。因此,这只能用作解决方案中的帮助,该解决方案还包含某种验证(基于人工或字典)。

我使用它

(?:\s*[a-zA-Z0-9,_\.\077\0100\*\+\&\#\'\~\;\-\!\@\;]{2,}\s*)*
它匹配Quickbook支持的所有a-z、a-z、0-9和一些特殊字符。

这些值是如何分开的?CSV?新行?您有可以添加纯文本格式的示例吗?您的公司名称似乎遵循以下模式:
[\w]+,(\w\)+
。它们可以自由地以文本形式放置。但每个人都有自己的路线。每个名称前可以有任何字符。regexp如何确定公司名称的起始位置?他说这些只是示例,而不是他需要匹配的唯一公司名称。@Barmar如果您处理的是自由文本,而您事先不知道公司名称,那么这个问题是非常困难的,OP甚至没有给出足够的细节来着手解决它。OTOH,如果公司的名字是已知的,那么与替代运营商一起列出这些公司的名单是非常有意义的。虽然我已经使用了这些例子,但是这种技术可以用于任何已知的公司名称。投票否决这个答案的人应该提供他们自己的、更好的答案。这为这种类型的匹配提供了已知模式