import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "((\\/|\\||\\[)+(\\s)*[12]{1}(T|°|º|ºT|°T)*)|([^\\|\\s]*([\\d]+T\\s|[\\d]+T|[\\d]+ºT\\s)+(\\||\\[|\\/)+)";
final String string = "2ºT | ⏱ 48 min: cruzamento de Raphael Veiga e Felipe Melo cabeceia para fora. \\n\\n#PALxCHA | 3x1\\n#AvantiPalestra \\n#JuntosNoBrasileirão\n"
+ "2ºT | ⏱ 47 min: amarelo para Raphael Veiga. \\n\\n#PALxCHA | 3x1\\n#AvantiPalestra \n"
+ "2ºT | ⏱ 45 min: mais 4 minutos de acréscimos. \\n\\n#PALxCHA | 3x1\\n#AvantiPalestra \n"
+ "2ºT | ⏱ 42 min: cruzamento preciso de Luan do meio-campo e Rony cabeceia para fora. \\n\\n#PALxCHA | 3x1\\n#AvantiPalestra \\n#JuntosNoBrasileirão\n"
+ "2ºT | ⏱ 28 min: substituições 🔄\\n\\n🔼 Entram: L. Esteves e F. Melo \\n🔽 Saem: Wesley e G. Scarpa \n"
+ "2ºT | ⏱ 26 min: amarelo para Wesley. \\n\\n#PALxCHA | 3x1\\n#AvantiPalestra \\n#JuntosNoBrasileirão\n"
+ "Com a saída de Luiz Adriano, Willian passa a ser o capitão do time em campo ©️\\n\\n#PALxCHA | 3x1\\n#AvantiPalestra \\n#JuntosNoBrasileirão https://t.co/PbpAHZH68u\n"
+ "2ºT | ⏱ 25 min: substituição 🔄\\n\\n🔼 Entra: Willian \\n🔽 Sai: Luiz Adriano \\n\\n#PALxCHA | 3x1\\n#AvantiPalestra \\n#JuntosNoBrasileirão\n"
+ "2ºT | ⏱ 21 min: após bate e rebate, Zé Rafael fica com a bola e manda por cima do gol. \\n\\n#PALxCHA | 3x1\\n#AvantiPalestra \\n#JuntosNoBrasileirão\n"
+ "2ºT | ⏱ 9 min: Palmeiras 3x1 Chapecoense. \\n\\n#AvantiPalestra #PALxCHA\\n#JuntosNoBrasileirão\n"
+ "2ºT | ⏱ 3 min: jogada ensaiada em cobrança de escanteio: Gustavo Scarpa cruza na entrada da área para 1ºT | ⏱ 8 min: Veiga cruza na área, Rony desvia de cabeça e manda por cima do gol.\\n\\n#PALxCRB \n"
+ "|45' | 2T | +6. Jogo vai aos 51. \\n\\nABC Futebol Clube 3x0 Chapecoense\\n \\n#VamosChape \n"
+ "43' | 2T | Entra Felipe Santana no lugar de Matheus Ribeiro. \\n\\nABC Futebol Clube 3x0 Chapecoense\\n \n"
+ "45' | 2T | +4. Jogo vai aos 49. \\n\\nPalmeiras 3x1 Chapecoense\\n \\n#VamosChape #OrgulhoDeSerChape\n"
+ "35' | 2T | Muda a Chape:\\n\\nEntram ➡️ Bruno Silva e Geuvânio\\nSaem ⬅️Fabinho e Anselmo Ramon \n"
+ "32' | 2T | Adversário cobra falta, mas a bola desvia na barreira e sai em escanteio. \\n\\nPalmeiras 3x1\n"
+ "24' | 2T | QUAAAAAAAASEEEEEEEEEE! \\n\\nRavanelli manda no segundo pau e Anselmo Ramon finaliza de \n"
+ "13' | 2T | Ravanelli tocou para Matheus Ribeiro, que invadiu a área a finalizou na rede, mas pelo lado\n"
+ "7' | 2T | Falta para a Chapecoense na meia-lua da grande área. \\n\\nPalmeiras 3x0 Chapecoense\\n \n"
+ "7' | 1T | Gol do Palmeiras. \\n\\nPalmeiras 1x0 Chapecoense\\n \\n#VamosChape #OrgulhoDeSerChape\n"
+ "2' | 1T | UHHHHHHHHHHHHHHHHHHH!\\n\\nFabinho fica cara a cara com Jailson e finaliza, obrigando grande \n";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
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