fork(6) download
  1. /*
  2. ¿Cómo extraer parte de una cadena según un patrón?
  3. https://es.stackoverflow.com/q/123704/127
  4. */
  5.  
  6. import java.util.regex.Matcher;
  7. import java.util.regex.Pattern;
  8.  
  9.  
  10.  
  11. class Ideone
  12. {
  13. public static void main (String[] args) throws java.lang.Exception
  14. {
  15. //En tu código sería:
  16. // String cadena=JTextField.getText();
  17. //Pero como ejemplo, lo asignamos a:
  18. String cadena = "Hola, tengo 1 cosa que decir después de 5 años de mentir y es que tengo 33 años de edad";
  19.  
  20. //Compilamos el regex y el matcher al texto, ignorando mayúsculas/minúsculas (esto es estándar)
  21. Pattern pattern = Pattern.compile("tengo ([0-9]+) años", Pattern.CASE_INSENSITIVE);
  22. Matcher matcher = pattern.matcher(cadena);
  23.  
  24. //Ahora sí, vemos si coincide el patrón con el texto
  25. if (matcher.find()) {
  26. //Coincidió => obtener el valor del grupo 1
  27. System.out.println("Tu edad es: " + matcher.group(1));
  28. } else {
  29. //No coincidió
  30. System.out.println("No me dijiste tu edad");
  31. }
  32. }
  33. }
Success #stdin #stdout 0.09s 27900KB
stdin
Standard input is empty
stdout
Tu edad es: 33