从字符串中删除特定单词的正则表达式

Regular Expression to remove specific word from a string

我想从字符串和它应该捕获其余可用数据。

我试过使用

"\(|\)|-|\.|Pvt|Ltd|Incorporated|Pte|Inc|Co|Private|\s"

但它不起作用。

示例文本:

0.5Bn FinHealth Pvt. Ltd.Inc. Pte.Co.Private Limited Incorporated,
0.5Bn FinHealth Ltd.,
1MG Technologies Pvt. Ltd.,

我需要帮助来改进正则表达式。

也许可以尝试以下模式:

(?:\s*\b(?:(?:Pvt|Ltd|Pte|Co)\.?|Inc\.|Incorporated|Private Limited))+

网上看一个demo

  • (?: - 打开第 1 non-capture 组;
    • \s* - 0+(贪心)空白字符;
    • \b - A word-boundary;
    • (?: - 打开嵌套的第二个 non-capture 组;
      • (?:Pvt|Ltd|Pte|Co) - 第 3 个嵌套的 non-capture 组,其中的备选方案后面可以有可选的点;
      • \.? - 一个可选的文字点;
      • | - 或者;
      • Inc\. - 字面匹配 'Inc.';
      • | - 或者;
      • Incorporated - 字面上匹配 'Incorporated';
      • | - 或者;
      • Private Limited - 字面上匹配 'Private Limited';
      • ))+ - 关闭 non-capture 组并匹配第一个 1+ 次。

用空字符串替换匹配项。

注意:我不确定您要用 \(|\)|-|\. 做什么,但我猜您想要替换某些 stand-alone 字符。如果是这样,您可以包含一个 character-class,例如:[().-]+ 以在另一个交替中替换它们。