Strings="este é um teste de (#palavra#) para expressao regular... ";Patternpat=Pattern.compile("#([^#]+)#");Matchermat=pat.matcher(s);while(mat.find()){System.out.println(mat.group());// imprime, neste caso, "palavra"}
FabioGyn
valeu, muito obrigado, honorável colega…
A
andreban
acho que assim também funciona: “#(.+?)#”
O “?” é um reluctant quantifier. Ou seja, ele vai parar quando achar o primeiro “#”.
Strings="este é um teste de (#palavra#) para expressao regular... ";Patternpat=Pattern.compile("#([\\p{L}\\d]+)#");Matchermat=pat.matcher(s);while(mat.find()){System.out.println(mat.group());// imprime, neste caso, "palavra" }
\p{L} quer dizer qualquer letra Unicode, ou seja, A-Z, a-z ou mesmo um ideograma chinês ou uma letra em árabe ou russo.
\d quer dizer qualquer dígito.