2016-12-02 3 views
1

Я хочу использовать регулярное выражение для соответствия моему требованию, что для одного и того же символа он появился 3 раза с одним и тем же символом, вставленным в них (чтобы упростить ответ, предположим, что все символы указаны в [a-zA-Z]).Совпадать с одним и тем же символом появляется несколько раз

Для например popape, ccccAjAkA удовлетворить мои требования, но KKKccc, FFFsF (не «другой» символ между двумя «F 'S) не являются квалифицированными. как я могу написать команду grep?

+1

Как 'FFFsF' не содержит' FsF' соответствия требованиям? –

+0

Подождите, вы ищете XaXbX (X - любой символ, a и b - некоторый символ! = X, но, возможно, тот же)? –

+0

@BodoThiesen Я ДУМАЮ 'FsF' не соответствует, потому что это 2' F's, а не 3, с другим символом между ними. Я ДУМАЮ, 'FFFsFsF' будет соответствовать, потому что он содержит' FsFsF'. –

ответ

4

Используя (экспериментальный) grep Perl совместимое регулярное выражение (PCRE):

grep -P '([a-zA-Z])(?!\1)(.)\1(?!\1)(.)\1'