У меня есть строка - например, «Hello Worrld». Обратите внимание, что буква «r» повторяется дважды.Регулярное выражение Lookahead - идентификация повторяющихся последовательных букв
Я хочу идентифицировать буквы, которые происходят последовательно (два или более раз) и сохраняют только один из них. То есть, я хочу получить «Hello World» с одним «r».
У Golang, похоже, нет регулярных выражений lookahead.
Я попытался с помощью следующее регулярное выражение, чтобы идентифицировать буквы, которые повторяются последовательно -
r := regexp.Compile(`(.)\1`)
Но он выбирает оба вхождения буквы - Я хотел бы только один из них должен быть выбран.
Вы также хотите 'Hello' стать' Helo' , правильно? Th выражение должно быть '(.) \ 1 +', чтобы поймать 'wooorrrrrrld'. – dasblinkenlight
О да. Верный. Ожидание состоит в том, чтобы идентифицировать все буквы, которые повторяются последовательно, и просто сохранить только один из них. – callmekatootie
Я не знаком с библиотекой регулярных выражений в go, поэтому я понятия не имею, как это делается, но должен быть способ получить первую группу захвата, которая соответствует точке в круглых скобках. Полное выражение, которое во многих реализациях регулярных выражений соответствует нулевой группе, будет соответствовать всем одинаковым буквам, но первая группа захвата будет всего лишь первым символом. – dasblinkenlight