Вместо использования (?<!G(GG)*)x
, где квантификатор находится во взгляде, вы можете переместить (GG)
из взгляда и превратить его в группу без захвата и повторить это 0+ раз (?:GG)*
Вместо этого, если вы утверждаете, что то, что слева, не является G
, вы можете утверждать, что это не непробельный символ, используя \S
, потому что (?<!G)
означает, что "a" допустимо и будет соответствовать х в ax
Наконец, используйте \K
, чтобы забыть, что было найдено, и сопоставить x
(?<!\S)(?:GG)*\Kx
Regex demo