正则表达式可以匹配此模式吗?

ben*_*ung -2 java regex

我想要匹配 [#ABABAB]blah blah blah[/#ABABAB]

但我不想匹配 [#ABABAB]blah blah blah[/#000000]

ABABAB和000000是十六进制颜色代码.

第一个是我想要的,因为它的开放标签和关闭标签的颜色代码是相同的,但第二个不是.

我尝试过这种模式,但它不起作用: \[#[0-9|A-F]{6}\].*\[/#[0-9|A-F]{6}\]

ars*_*jii 5

试试这个:

\[(#[0-9a-fA-F]{6})\].*?\[/\1\]

System.out.println("[#ABABAB]blah blah blah[/#ABABAB]"
        .matches("\\[(#[0-9a-fA-F]{6})\\].*?\\[/\\1\\]"));

System.out.println("[#ABABAB]blah blah blah[/#000000]"
        .matches("\\[(#[0-9a-fA-F]{6})\\].*?\\[/\\1\\]"));
Run Code Online (Sandbox Code Playgroud)
true
false