import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "^(?:[[:^print:][:cntrl:]\\s]|GIF89.{0,20})*(?:<[^>]+>\\s*)+<title>contador\\s*de \\s*acessos<\\/title>.{0,1350}?\\$caminho\\s*=\\s*\"contador\\.txt.{0,150}?\\$arquivo\\s*=\\s*fopen\\(\\$caminho.{0,150}?numero\\s*de\\s*visitas\\s*fclose\\(\\$arquivo.{0,650}?<meta.{0,50}?url=['\"]contador\\.php.{0,50}?\\/html[[:punct:]\\s]+$";
final String string = "<html>\n"
+ "<head>\n"
+ "<title>Contador de Acessos</title>\n"
+ "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\"><style type=\"text/css\">\n"
+ "<!--\n"
+ "body,td,th {\n"
+ " color: #FF0000;\n"
+ " font-family: Verdana;\n"
+ " font-size: 12px;\n"
+ "}\n"
+ "body {\n"
+ " background-color: #CCCCCC;\n"
+ "}\n"
+ ".style1 {\n"
+ " font-size: 15px;\n"
+ " font-weight: bold;\n"
+ "}\n"
+ ".style2 {\n"
+ " font-size: 12px;\n"
+ " color: #FF0000;\n"
+ "}\n"
+ ".style3 {\n"
+ " font-size: 15px;\n"
+ " color: #000000;\n"
+ "}\n"
+ ".style4 {color: #000000}\n"
+ ".style5 {font-size: 15px; font-weight: bold; color: #000000; }\n"
+ ".style8 {font-size: 24px; font-weight: bold; }\n"
+ ".style9 {color: #CCCCCC}\n"
+ ".style11 {color: #FF0000}\n"
+ ".style12 {color: #FFFFFF}\n"
+ ".style15 {color: #FFFFFF; font-size: 20px; }\n"
+ "-->\n"
+ "</style><body link=\"#FF0000\" vlink=\"#FF0000\" alink=\"#FF0000\">\n"
+ "<center>\n"
+ " <table width=\"476\" border=\"0\">\n"
+ " <tr>\n"
+ " <td width=\"470\" bgcolor=\"#000000\"><div align=\"center\"><span class=\"style15\"> CONTADOR - <span class=\"style11\">BB</span></span> </div></td>\n"
+ " </tr>\n"
+ " </table>\n"
+ " <p><span class=\"style5\"> $$ CONTADOR DE ACESSOS $$ <br>\n"
+ " <br> \n"
+ " <span class=\"style2\">==========================================================</span><br>\n"
+ " </span><br>\n"
+ " <span class=\"style4\">VOCÊ POSSUI<span class=\"style9\">-</span> </span>\n"
+ " </h1>\n"
+ " <span class=\"style8\">\n"
+ " <?php\n"
+ " $caminho = \"contador.txt\";//nome do arquivo que vai guardar os visitantes\n"
+ " $arquivo = fopen($caminho, \"r\");//abre o arquivo\n"
+ " $total = fgets($arquivo,1024); //pega o numero de visitas\n"
+ " fclose($arquivo);//fecha o arquivo\n"
+ " $x = $total;\n"
+ " echo \"\" . $x;//mostra na tela o numero de visitantes\n"
+ "?>\n"
+ " </span> <span class=\"style4\"> CLIQUES.</span> <br>\n"
+ " <br>\n"
+ " <br>\n"
+ " <br>\n"
+ " <span class=\"style4\"><strong>OBS:</strong> A PÁGINA FICA ATUALIZANDO AUTOMATICAMENTE EM 60 SEGUNDOS. </span></p>\n"
+ " <table width=\"568\" border=\"0\">\n"
+ " <tr>\n"
+ " <td bgcolor=\"#000000\"><div align=\"center\"><span class=\"style12\">CONTADOR SPAM<span class=\"style11\"></span></span></div></td>\n"
+ " </tr>\n"
+ " </table>\n"
+ " <p><br>\n"
+ " </p>\n"
+ " <meta http-equiv='Refresh' content='60'; URL='contador.php'>\n"
+ "</center>\n"
+ "</body>\n"
+ "</head>\n"
+ "</html>";
final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
final Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
System.out.println("Full match: " + matcher.group(0));
for (int i = 1; i <= matcher.groupCount(); i++) {
System.out.println("Group " + i + ": " + matcher.group(i));
}
}
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html