/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
findDimers("AATTAAAATTTTAAAAAAAAGGGCCCTTTAAATATATATATATATAAGGGATTTAAGGAATTAAGATGATGATGATGATGATGGTAG");
}
private static void findDimers
(String s
){
Pattern pattern = Pattern.compile("(?:([ATGC])(?!\\1)([ATGC])\\1\\2)+");
Matcher matcher = pattern.matcher(s);
while (matcher.find()) {
System.
out.
print("Start index: " + matcher.
start()); System.
out.
print(" End index: " + matcher.
end()); System.
out.
println(" Found: " + matcher.
group()); }
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CmltcG9ydCBqYXZhLnV0aWwucmVnZXguTWF0Y2hlcjsKaW1wb3J0IGphdmEudXRpbC5yZWdleC5QYXR0ZXJuOwoKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb257CgkJZmluZERpbWVycygiQUFUVEFBQUFUVFRUQUFBQUFBQUFHR0dDQ0NUVFRBQUFUQVRBVEFUQVRBVEFUQUFHR0dBVFRUQUFHR0FBVFRBQUdBVEdBVEdBVEdBVEdBVEdBVEdHVEFHIik7Cgl9Cglwcml2YXRlIHN0YXRpYyB2b2lkIGZpbmREaW1lcnMoU3RyaW5nIHMpewoJCQoJCVBhdHRlcm4gcGF0dGVybiA9IFBhdHRlcm4uY29tcGlsZSgiKD86KFtBVEdDXSkoPyFcXDEpKFtBVEdDXSlcXDFcXDIpKyIpOwoJCU1hdGNoZXIgbWF0Y2hlciA9IHBhdHRlcm4ubWF0Y2hlcihzKTsKCQkKCQl3aGlsZSAobWF0Y2hlci5maW5kKCkpIHsKCQkgICAgU3lzdGVtLm91dC5wcmludCgiU3RhcnQgaW5kZXg6ICIgKyBtYXRjaGVyLnN0YXJ0KCkpOwoJCSAgICBTeXN0ZW0ub3V0LnByaW50KCIgRW5kIGluZGV4OiAiICsgbWF0Y2hlci5lbmQoKSk7CgkJICAgIFN5c3RlbS5vdXQucHJpbnRsbigiIEZvdW5kOiAiICsgbWF0Y2hlci5ncm91cCgpKTsKCQl9CQoJCgl9Cn0=