Как я могу легко найти серый цвет с помощью Regex? - PullRequest
0 голосов
/ 15 января 2019

Хорошо, у меня есть 3 задания. (Каждый из них является самостоятельным заданием)

  1. Я должен найти серые цвета с 6 числами. -> # 555555.

  2. Мне нужно найти серые цвета только с 3 цифрами. -> # 555

  3. Мне нужно найти только серые цвета, поэтому только 0, 3, 6, 9, c, f -> # cccccc

Прежде всего, есть ли способ сравнить только значение из групп? Я хотел использовать «\ 1» (также с другими числами), но это не сработало. Правильно ли, что число в "\ 1" относится к Group1? Во-вторых, есть ли более простой способ выполнить эти задачи?

Большое спасибо за помощь!

1 Ответ

0 голосов
/ 15 января 2019

Эти регулярные выражения довольно просты, отдельные значения могут быть:

  1. \B#([0-9a-fA-F]{2})\1\1\b
  2. \B#([0-9a-fA-F])\1\1\b
  3. \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).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...