Эти регулярные выражения довольно просты, отдельные значения могут быть:
\B#([0-9a-fA-F]{2})\1\1\b
\B#([0-9a-fA-F])\1\1\b
\B#([0369cf]{2})\1\1\b
Но вы можете объединить 1. и 2 в одно регулярное выражение:
\B#([0-9a-fA-F]{1,2})\1\1\b
Если вы также хотите объединить третий, вам просто нужно настроить список допустимых символов.
\B#([0369cf]{1,2})\1\1\b
Я не уверен, что вы имели в виду
есть ли способ сравнить только значение из групп?
Но если ваш вопрос заключался в том, как снова сопоставить точно такие же символы, вы вправе использовать обратные ссылки (\1
, ...). Это снова сопоставит группу захвата с этим номером. Чтобы использовать обратную ссылку, вы должны создать группу (someexp)
.