Regex 需要具有两个相同字符的字符串的匹配项

Regex 需要具有两个相同字符的字符串的匹配项,regex,Regex,完全是正则表达式的新手,我需要一个正则表达式来匹配以相同字符开头和结尾的字符串,中间可以是任何字符(偶数) 我尝试了一些方法,但无法使其与以下文本案例匹配: 5 (true) a (true) b (true) ab (false) aba (true) “(\“|\”)无论什么\\1”是我到目前为止所拥有的,但它并不适用于所有字符串使用: ^.$|^(.).*\1$ 1个字符的字符串的大小写是专门处理的,因为您不能在一个模式中两次匹配同一个字符。第二种方法是将第一个字符放入捕获组,然后在

完全是正则表达式的新手,我需要一个正则表达式来匹配以相同字符开头和结尾的字符串,中间可以是任何字符(偶数)

我尝试了一些方法,但无法使其与以下文本案例匹配:

5 (true)
a (true)
b (true)
ab  (false)
aba (true)
“(\“|\”)无论什么\\1”
是我到目前为止所拥有的,但它并不适用于所有字符串

使用:

^.$|^(.).*\1$
1个字符的字符串的大小写是专门处理的,因为您不能在一个模式中两次匹配同一个字符。第二种方法是将第一个字符放入捕获组,然后在末尾使用反向引用进行匹配

处理1个字符大小写的另一种方法是将第一个字符后的所有内容都设置为可选

^(.)(?:.*\1)?$

使用第二个模式捕获单字符大小写怎么样?当我尝试在任何事情上匹配它时,这会使我出错。你能澄清你的意思吗(可能是你用来匹配的代码),它在Regex101测试仪中匹配模式很好。稍微更新了模式
^(\w)。*\1$|^(\w)$
@Mako212为什么只匹配
\w
?而且,这对一个1字符的字符串不起作用。
^(.)(.*\1)?$
?为什么它的其余部分需要一个捕获组?啊,您正在演示如何在没有其他选项的情况下进行匹配。@jhnc我使用非捕获组添加了该版本。