为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
繁花如伊 2022-07-23 16:38:23
我正在尝试查找所有具有 2x3 连续数字的 RGB 数字。我的意思是这种数字:\#00FF11 \#66AA44 \#FF0000我试过写这个:\b#(([0-9a-zA-Z])\1){3}\b但这不起作用。问题出在哪里?我可能会说,问题出在 . 附近\1,因为这是我唯一不太确定的部分。
查看完整描述

1 回答

?
jeck猫

TA贡献1909条经验 获得超7个赞

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

请注意,\b#只会匹配#前面带有单词 char(字母、数字或_)的字符。您需要在开头使用非单词边界,\B.

要匹配十六进制字符,[A-Fa-f]最好比[A-Za-z].

利用

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

使用逐字字符串文字,您不需要在此处使用双转义反斜杠。


查看完整回答
反对 回复 2022-07-23
  • 1 回答
  • 0 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信