javascript - 正则表达式检测公司名称

标签 javascript regex

我正在尝试检测并提取给定较大字符串的公司名称(子字符串)。例如,以下可能是公司名称的格式:

  • 优步公司
  • 优步科技公司
  • 谷歌有限责任公司
  • Fiserv 公司
  • Fiserv 公司

假设字符串包含各种其他不相关的单词,我需要从字符串中提取匹配的公司名称。下面的例子:

"John works at Uber Technologies, Inc as a senior software engineer while Amanda works at Google LLC as a product manager"

目前我拥有的正则表达式如下:(/(, ?)?(LLC|Inc|Co)\.?/但它并没有涵盖所有这些场景(并且仅检测公司名称。另一个用例是版权 - 其中有类似的内容:

"© 2019 Uber Technologies, Inc. All rights reserved" 。我需要再次提取公司名称。

任何帮助将不胜感激!

最佳答案

这会非常复杂,您可能想要根据这些公司的一些初步数据来设计一个表达式,但在某些情况下仍然会失败:

((?:[A-Z0-9]\S+\s+){1,5})(?:\s*,\s*)?(LLC|LC|L\.L\.C\.|L\.C\.|INC|Inc\.?|Co\.?|CO\.?)

如果您有 LLP/LP、Corp、Corp.、Corporation 和类似的后缀,您可以将它们添加到:

(LLC|LC|L\.L\.C\.|L\.C\.|INC|Inc\.?|Co\.?|CO\.?)

还有一些边缘情况,例如,某些公司名称以数字开头(如果您的数据中可能有数字)。

<小时/>

If you wish to explore/simplify/modify the expression, it's been explained on the top right panel of regex101.com. If you'd like, you can also watch in this link, how it would match against some sample inputs.

<小时/>

关于javascript - 正则表达式检测公司名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57741186/

相关文章:

c# - .NET 正则表达式帮助

正则表达式 - 如何删除前 10 行/和最后 10 行

regex - Scala Regex启用多行选项

regex - vim 正则表达式查找和替换

java - 匹配多语言数字的正则表达式不检测中文数字

javascript - 使用 getScripts 异步获取 JavaScript

javascript - 日期选择器 Bootstrap 不保存

javascript - 按键按字母顺序排序 Object.entries

javascript - 谷歌折线图时间显示

c# - 使用 JavaScript 获取选中的 RadioButtons