If that’s what I understand, since the function group()
returns a string, you can do the following:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
//Classe de demonstração para armazenar o valor da saída da Regular Expressão:
//Mas você pode criar qualquer classe.
//Nota: esta classe não é obrigatória, somente, se quiser.
class Demo {
static String s = "";
public static void setS(String myString) {
s = myString;
}
public static String getS() {
return s;
}
}
class Main {
public static void main(String[] args) {
String texto = "111 aaa";
String reg = "\\d+";
Pattern p = Pattern.compile(reg);
Matcher m = p.matcher(texto);
// Cria-se uma variável, à qual, os valores da função group()
// serão atribuídos.
String s = "";
while (m.find()) {
// Aqui, é feita a atribuição:
s += m.group();
//Isto: s += m.group(); é a mesma coisa disto:
//s = s + m.group();
}
// Aqui, é definido o valor de 's' (111), digamos, numa variável externa de
// outra classe.
Demo.setS(s);
// Aqui, obtém o valor de s.
System.out.println(Demo.getS());
// Só para mostrar que não precisa de uma classe, mas só se você realmente quiser.
System.out.print(s);
}
}
Demo:
https://repl.it/@TaffarelXavier/QuietMinorJavascript
REFERENCE:
1. Matcher groud()
- https://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html#group()
You talk about doing it?
String s = m.group();
– Piovezan