2015-12-15 21 views
5

Attualmente, sto lottando con il problema di catturare numeri con REGEX utilizzando JavaUsare espressioni regolari per estrarre i numeri tra parentesi

La stringa che sto cercando di prendere i numeri in questo valore di stringa usando REGEX è questo ..

[TEST][64894]HelloWorld[KGMObilians] 

Il mio desiderio è quello di prendere i numeri che si trovano in [].

Ciò sarebbe possibile con Java? Potrei facilmente prendere il numero suddividendo la stringa, ma la società vuole che io usi la regex poiché è più sicura e veloce. mi aiuti per favore.

+1

Puoi mostrarci cosa hai provato fino ad ora? –

+0

La risposta è "sì, può essere fatto". Stai davvero volendo fare l'espressione regolare? – Raedwald

risposta

2

Prova questo:

String s = "[TEST][64894]HelloWorld[KGMObilians]"; 
Pattern patt = Pattern.compile("\\[\\d+\\]"); 
Matcher match = patt.matcher(s); 

IDEONE DEMO

E se non volete le staffe poi semplicemente lo rendono come

String s = "[TEST][64894]HelloWorld[KGMObilians]"; 
Pattern patt = Pattern.compile("\\[(\\d+)\\]"); 
Matcher match = patt.matcher(s); 
while(match.find()){ 
    System.out.println(match.group(1)); 
} 

IDEONE DEMO

0

Elimina il numero dalla stringa.

String s = "[TEST][64894]HelloWorld[KGMObilians]"; 
    Pattern patt = Pattern.compile("\\[\\d+\\]"); 
    Matcher match = patt.matcher(s); 
    if (match.find()) {   
     String group = match.group(); 
     System.out.println(group.replaceAll("\\[|\\]", "")); 
    } 
Problemi correlati