如何使用Regex轻松找到灰色?

时间:2019-01-15 19:47:15

标签: c# regex

好的,所以我有3个任务。 (每个都是单独的任务)

  1. 我必须找到6个数字的灰色。 ->#555555。

  2. 我必须找到只有3个数字的灰色。 ->#555

  3. 我只需要找到灰色即可,所以只有0、3、6、9,c,f -> #cccccc

首先,有没有办法只比较组中的值?我想使用“ \ 1”(以及其他数字),但这没有用。是对的,“ \ 1”中的数字是指Group1吗? 其次,有没有更简单的方法来完成这些任务?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

这些正则表达式非常简单,单个区域可能是:

  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)