我正在尝试检测和提取给定较大字符串的公司名称(子字符串)。例如,以下可能是公司名称的格式:
假设该字符串包含其他不相关的单词,我需要从该字符串中提取匹配的公司名称。下面的示例:
"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"
。我需要再次提取公司名称。
任何帮助将不胜感激!
答案 0 :(得分:1)
这将非常复杂,您可能希望基于这些公司的一些初步数据来设计一个表达式,但在某些情况下仍然会失败:
((?:[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\.?)
并且存在一些极端情况,例如,如果您的数据中可能包含公司名称,则某些公司名称以数字开头。
如果您想探索/简化/修改表达式,可以 在右上角的面板上进行了说明 regex101.com。如果您愿意, 也可以在this link中观看它的匹配方式 针对一些样本输入。