使用 RegExp 删除特定字符串

Remove specific string using RegExp

我有一个不同的字符串:

Word1-A-OK
Word2-Sample-R-OK
Word3-A

如何使用 Regexp 删除这些 (-A, -A-OK, -A-NG, -R, -R-OK, -R-NG, -W, -C) 字符串?我想要的输出是:

Word1
Word2-Sample
Word3

这是我当前的正则表达式:

(\.|-A|[^\w]+R|[^\w]+OK|[^\w]+NG|[^\w]+W|[^\w]+C)  

您可以匹配示例数据

-[AR](?:-OK)?

并替换为空字符串

Regex demo

匹配所有的组合

(\w+)-(?:[AR](?:-(?:NG|OK))?|[WC])$

Regex demo

并替换为第 1 组。

你似乎把这个复杂化了。只需对以下交替进行正则表达式替换:

-(?:[AR](?:-(?:OK|NG))?|W|C)$

然后,替换为空字符串,有效去除这些后缀。

Demo