import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Example {
public static void main(String[] args) {
final String regex = "(?:[cC][hH]|[lL][lL]|[rR][rR]|[qQ][uU]|[mnñvzsyjhxwMNÑVZSYJHXW]|[fpbtdkgcFPBTDKGC][lrLR]?|[lrLR])?(?:[iuüIUÜ][eaoéáóEAOÉÁÓ][iyuIYU]|[aáAÁ][hH]?[uúUÚ][aáAÁ]|[iuüIUÜ][hH]?[eaoéáóEAOÉÁÓ]|[eaoéáóEAOÉÁÓ][hH]?[iyuIYU]|[iíIÍ][hH]?[uúUÚ]|[uúüUÚÜ][hH]?[iíyIÍY]|[ieaouíéáóúüIEAOUÍÉÁÓÚÜ])(?:(?:(?:(?:[nmNM]|[rR](?![rR]))s?(?![ieaouíéáóúüIEAOUÍÉÁÓÚÜ]))|(?:(?:[mnñvzsyjhxwMNÑVZSYJHXW]|[lL](?![lL]))(?![ieaouíéáóúüIEAOUÍÉÁÓÚÜ]))|(?:(?:[fpbtdkgFPBTDKG]|[cC](?![hH]))(?![lrLR]?[ieaouíéáóúüIEAOUÍÉÁÓÚÜ])))(?!\\s|$))?(?:[ndrlsxNDRLSX](?=\\s|$))?";
final String string = "SÍLABA CV\n"
+ " casado\n"
+ " caro\n\n"
+ "NÚCLEOS VOCÁLICOS\n"
+ " DIPTONGOS\n"
+ " ai, au, ei, eu, oi, ou, ui, iu, ia, ua, ie, ue, io, uo\n"
+ " varió comió diario miel\n\n"
+ " CON DOS CERRADAS\n"
+ " distribuido atribuir atribuí\n"
+ " muy fui rey\n"
+ " pausa tierra\n"
+ " ciudad buitre \n\n"
+ " CON H INTERCALADA\n"
+ " desahuciar, ahijado\n\n"
+ " TRIPTONGOS\n"
+ " santigüeis\n"
+ " guay guau rey\n"
+ " haliéutica hioides huaico\n\n"
+ " AUA\n"
+ " palauano\n"
+ " nahuatl cacahuatal\n\n"
+ " HIATOS NORMATIVOS (DOS CONSONANTES ABIERTAS)\n"
+ " aorta\n"
+ " héroe\n"
+ " almohada\n"
+ " línea\n\n"
+ " HIATOS\n"
+ " tú sabrías, sabías, vosotros sabíais\n"
+ " raúl oído búho\n"
+ " tío púa \n\n"
+ "ATAQUE C+LÍQUIDA\n"
+ " cromo\n"
+ " claro\n"
+ " cabra\n"
+ " triple\n"
+ " dígrafos \n\n\n"
+ "CODAS\n"
+ " silbo\n"
+ " cansado\n"
+ " tacto\n"
+ " texto\n"
+ " anticiparse\n"
+ " álbumes\n"
+ " asfixia\n"
+ " enloquecer\n\n"
+ " SUCESIÓN NS MS RS\n"
+ " transportar\n"
+ " transacción\n"
+ " torso\n"
+ " perspectivas\n"
+ " samsara \n\n"
+ " CODAS A FINAL DE PALABRA\n"
+ " hablan hablar hablad\n"
+ " riel rieles\n"
+ " sílex\n"
+ " recto\n\n"
+ "DÍGRAFOS\n"
+ " chica\n"
+ " coche\n"
+ " llave\n"
+ " calle\n"
+ " carro\n\n"
+ "EXTRANJERISMOS\n"
+ " pícnic\n"
+ " hámster\n"
+ " mozzarella\n"
+ " marketing\n"
+ " búnker\n"
+ " sándwich\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