繁体   English   中英

如何使用正则表达式在 RGB 中找到两个连续的重复字符?

[英]How to find two consecutive repeating characters in RGB using Regex?

我试图找到所有具有 2x3 个连续数字的 RGB 数字。 我的意思是这样的数字:

\#00FF11
\#66AA44
\#FF0000

我试过写这个:

\b#(([0-9a-zA-Z])\1){3}\b

但这不起作用。

问题出在哪儿? 我可能会说,问题出在\\1 ,因为这是我不太确定的唯一部分。

\\1模式是对捕获组 1 的反向引用,即(([0-9a-zA-Z])\\1) 您实际上想要参考 Capturing group 2,因此需要\\2而不是\\1

需要注意的是\\b#将只匹配#是前面有一个字字符(字母,数字或_ )。 您需要在开头使用非单词边界\\B

要匹配十六进制字符, [A-Fa-f][A-Za-z]更可取。

@"\B#(?:([0-9a-fA-F])\1){3}\b"

使用逐字字符串文字,您无需在此处重复转义反斜杠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM