是否可以编写Java Regex序列来匹配字符串中的两个相同序列。换句话说,给出了字符串
near[2015-12-1] far[2015-12-1]
我希望匹配所有字符串,其中第一个方括号内的值等于第二个方括号中的值,方括号外的字符串为near[] far[]
。
near[2015-12-1] far[2015-12-1] MATCH
near[2015-12-3] far[2015-12-1] NO MATCH
near[2015-12-1] far[2014-12-1] NO MATCH
near[2015-12-3] far[2015-12-3] MATCH
foo[2015-12-1] bar[2015-12-1] NO MATCH
这可能吗?
答案 0 :(得分:6)
答案 1 :(得分:3)
正则表达式看起来像near\[(.*)\] far\[\1\]
。在Java中,您将拥有以下内容:
Pattern.matches("near\\[(.*)\\] far\\[\\1\\]", "near[2015-12-1] far[2015-12-1]")
或
"near[2015-12-1] far[2015-12-1]".matches("near\\[(.*)\\] far\\[\\1\\]")