Regex 如何在非连续大写字母之前的字符串中添加空格,同时排除连续大写字母?

Regex 如何在非连续大写字母之前的字符串中添加空格,同时排除连续大写字母?,regex,angular,string,pipe,Regex,Angular,String,Pipe,我在angular中制作了一个管道,其中我得到了一个枚举的名称,我想在名称中的大写字母前添加空格。然而,有些名字由两个连续的大写字母组成,我不想拆分这些字母 预期结果: 战争之王->战争之王 总部->总部 实际结果: 战争之王->战争之王 HQ->HQ 正则表达式:/([A-Z])/g 管道片段: 到目前为止,它只是“HQ”,所以我还尝试用一个负前瞻/((?!HQ)|[a-Z])/g排除HQ,但是这给出了以下结果: LordOfWar->L o r d o f W a r HQ->HQ 最理想的

我在angular中制作了一个管道,其中我得到了一个枚举的名称,我想在名称中的大写字母前添加空格。然而,有些名字由两个连续的大写字母组成,我不想拆分这些字母

预期结果:

战争之王->战争之王

总部->总部

实际结果:

战争之王->战争之王

HQ->HQ

正则表达式:
/([A-Z])/g

管道片段:

到目前为止,它只是“HQ”,所以我还尝试用一个负前瞻
/((?!HQ)|[a-Z])/g
排除HQ,但是这给出了以下结果:

LordOfWar->L o r d o f W a r

HQ->HQ

最理想的情况是我想要一个通用正则表达式,所以如果我遇到另一个类似的情况,我不必再添加另一个排除项


否则,我想知道如何排除HQ(以及如何为以后添加更多排除)

使用两个组应该可以做到:
替换(/([a-z]+)([a-z])/g,$1$2')
添加
+/code>量词:
/([a-z]+)/g