从字符串中删除特定单词的正则表达式
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,例如:[().-]+
以在另一个交替中替换它们。
我想从字符串和它应该捕获其余可用数据。
我试过使用
"\(|\)|-|\.|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,例如:[().-]+
以在另一个交替中替换它们。