正则表达式:匹配任意字符a,特定字符b,然后再匹配a

时间:2019-04-12 00:03:51

标签: java regex pattern-matching

我正在尝试在Java上实现算法,我需要一种匹配模式的方法,在该模式中我找到任何字符(让它命名为a),然后是字符'X',然后是之前的相同字符a。最初的想法是正则表达式,尽管一段时间后找不到解决方法,但我正在考虑遍历所有字符并逐个检查它们...

但是在此之前,如果有人可以帮助我,我需要做一些事情,以便(“ AXA”,“ EXE”,“ RXR”等)匹配,而(“ AXB”,“ EXA”,“ TXX”等)匹配不是。

尝试使用“ .X”之类的东西。但是当然失败了,因为它匹配了'X'前后的所有内容...

有没有办法匹配类似的东西?

1 个答案:

答案 0 :(得分:3)

捕获前导字符,并使用后向引用:

(.)X\1

请参见live demo

请注意,在Java中,您需要使用2个斜杠来构成文字斜杠:

"AXA".matches("(.)X\\1") // true