espressioni regolari: nuovo problema
se voglio con un espressione regolare prendere da
$TESTO="pippo 18 pluto 40 ";
il 18 e il 40 dopo una parola pensavo di creare un espressione tipo sequenza di lettere + spazio, inizia a leggere sequenza di numeri fino allo spazio.
penso venga fuori qualcosa tipo...
[a-z]+"SPAZIO"{1}([0-9]+)"SPAZIO"{1}
(dove ovviamente "SPAZIO" è il carattere per lo spazio...)
in teoria mettendo questa espressione in
eregi("[a-z]+"SPAZIO"{1}([0-9]+)"SPAZIO"{1}",$TESTO,$TROVATE);
mi aspetterei che mi sputasse fuori un array di 2 celle, con valori 18 e 40.
gia che ci sono... che altri caratteri speciali ci sono per identificare gli a capo?
e ce ne sono altri che non mi vengono in mente ora?
ultima domanda... eregi restituisce un booeano... ma se io volessi sapere quanto è lungo l'array creato che devo fare?
espressioni regolari mica tanto regolari...
con questa riga qui:
eregi("[a-z]+:[[:space:]]?([0-9]+)", $TESTORISORSE[1], $RISORSA);
con queste variabili:
$TESTORISORSE[1]=="05-08 17:22:20 Metallo: 18517 Cristallo: 5215 Deuterio: 2666 Energia: 212 "
mi da come risultato un vettore di 2 elementi,
al cui primo posto compare 18517... come mi aspettavo
al cui secondo posto è vuoto...
e non legge i valori di cristallo, deuterio ed energia... dove è il problema?