Java 正则表达式:再次匹配任意字符a、特定字符b和a
我试图在java上实现一个算法,我需要一种方法来匹配一个模式,在这个模式中,我可以找到任何字符(让我们把它命名为a),然后是字符“X”,然后是以前的同一个字符a。最初的想法是正则表达式,虽然在一段时间后没有找到一种方法来实现,但我正在考虑遍历所有字符并逐个检查它们 但在此之前,如果有人能提供帮助,我需要一些东西,以便(“AXA”、“EXE”、“RXR”等)能够匹配,而(“AXB”、“EXA”、“TXX”等)不能匹配 尝试使用“.X”之类的东西,但当然失败了,因为它匹配了“X”之前和之后的任何内容Java 正则表达式:再次匹配任意字符a、特定字符b和a,java,regex,pattern-matching,Java,Regex,Pattern Matching,我试图在java上实现一个算法,我需要一种方法来匹配一个模式,在这个模式中,我可以找到任何字符(让我们把它命名为a),然后是字符“X”,然后是以前的同一个字符a。最初的想法是正则表达式,虽然在一段时间后没有找到一种方法来实现,但我正在考虑遍历所有字符并逐个检查它们 但在此之前,如果有人能提供帮助,我需要一些东西,以便(“AXA”、“EXE”、“RXR”等)能够匹配,而(“AXB”、“EXA”、“TXX”等)不能匹配 尝试使用“.X”之类的东西,但当然失败了,因为它匹配了“X”之前和之后的任何内容
有没有办法匹配这样的东西 捕获前导字符,并使用反向引用:
(.)X\1
看
请注意,在java中,需要使用2个斜杠来生成文字斜杠:
"AXA".matches("(.)X\\1") // true
谢谢这正是我所需要的!