Aiuto RegExpression

Forum dedicato alla programmazione.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il linguaggio di programmazione usato.
2) Se possibile portare un esempio del risultato atteso.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Aiuto RegExpression

Messaggio da darkstaring »

Ciao :)
E dà un pò che inizio a vedere le espressioni regolari ma ancora ho tanto da imparare...
Mi sapete dire se è possibile trovare il testo tra 2 parentesi tonde??
Ho un testo di questo tipo: "12.12.12-@-3-2(1)11"; in questo caso vorrei prendere solo l' uno tra le tonde..
Ho un numero finito di valori, ovvero un numero di massimo 2 cifre: [0-9]{1,2}
ma non riesco a prendere solo quelo che è tra le tonde
Sono due giorni che tento :)
Sapete aiutarmi???

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Aiuto RegExpression

Messaggio da ZeroUno »

^.*\(([0-9]{1,2})\).*$
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Aiuto RegExpression

Messaggio da darkstaring »

Grazie ZeroUno :D

Ho provato ad applicarla su 2 stringhe: "29.10.10-A(4)" e "espressioni(4) regolari!"
Per provare a sostituire il numero (4) con "Trasformato"
ma sembra non funzionare,

Codice: Seleziona tutto

<?php
$testo = "29.10.10-A(4)" ; //"espressioni(4) regolari!";
$var=str_replace("^.*\(([0-9]{1,2})\).*$","Trasformato:", $testo);
print $var;
?>
In entrambi i casi il 4 rimane quattro e non diventa "Trasformato" come mi aspettavo :x...

Sbaglio perchè devo cambiare la funzione str_replace con un'altra che
estrae quello che verifica la reg.ex???
Se si potersti dirmi quale è ? :D
Grazie

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Aiuto RegExpression

Messaggio da ZeroUno »

ecco, già a sapere quello che vuoi fare è meglio.


$var=preg_replace("/\([0-9]{1,2}\)/","(Trasformato:)",$testo);

http://it2.php.net/preg_replace
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Aiuto RegExpression

Messaggio da darkstaring »

ZeroUno ha scritto:ecco, già a sapere quello che vuoi fare è meglio.
:D
Ti ringrazio per la chicca adesso me la vedo :)
Comunque ho aggirato il problema diversamente, partendo dalla tonda di destra e prendendo quello che cè dopo la destra
Grazieee comunque
:)

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Aiuto RegExpression

Messaggio da targzeta »

Tieni presente che in PHP, se vuoi estrapolare differenti informazioni da una stringa, con una regexp fai tutto in un colpo solo. Ovvero, dato che, se non ricordo male, la stringa in oggetto contiene anche una data, e dato che tu vuoi anche estrapolare la data, invece di fare mille substring, ti basta una sola regexp per prelevare sia la data che il termine tra parentesi.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Aiuto RegExpression

Messaggio da darkstaring »

Umm, non saprei perche ci sono diversi casi da interpretare..

Oltre al campo data e il termine tra le parentesi ci possono essere uno o più termini al centro separati da un meno..
Questo potrebbe essere un'esempio
12.12.12-@-SP-4(2)
in'oltre tutti i dati vanno passati ad un database, quindi bisogna verificare ogni membro
per vedere se è possibile inserirlo nella tabella, per il fatto delle chiavi esterne...
In più ogni stringa non contiene solo questi campi, ma avvolte ci sono altre info
quindi di fatto potrebbe arrivare "djoaejdowi12.12.12-@-SP-4(2)NOSHOWnckndsk" :D
la scritta noshow non l'ho scritta a caso :)
se è presente si deve cambiare un flag da inserire nel db..
E poi ci sono anche altri controlli
Non credo sia possibile farlo in un solo colpo, tanto meno da mè :D
non riuscivo a vedere il contenuto tra le 2 parentesi :x , figuriamoci......
Comunque grazie

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Aiuto RegExpression

Messaggio da targzeta »

Ok, come credi, però da come descrivi ciò che devi fare, sembra proprio un lavoro da far fare a preg_match(). Potrebbe essere un buon esercizio e, se vuoi, ti possiamo dare una mano anche io.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
ZeroUno
Staff
Staff
Messaggi: 5441
Iscritto il: ven 2 giu 2006, 14:52
Nome Cognome: Matteo Rossini
Slackware: current
Kernel: slack-current
Desktop: ktown-latest
Distribuzione: 01000000-current
Località: Roma / Castelli
Contatta:

Re: Aiuto RegExpression

Messaggio da ZeroUno »

confermo preg_match. Io direi, dacci il caso più complicato che ti può capitare e vediamo che si può fare.
Vedrai.. una volta partito con le regex ti divertirai un mondo.
Packages finder: slakfinder.org | Slackpkg+, per aggiungere repository a slackpkg

Codice: Seleziona tutto

1011010 1100101 1110010 1101111 - 0100000 - 1010101 1101110 1101111

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Aiuto RegExpression

Messaggio da darkstaring »

ZeroUno ha scritto:Vedrai.. una volta partito con le regex ti divertirai un mondo.
Aahahahahah :D
Sicuramente si, ma che complicate che sembrano :?
Comunque un caso abbastanza complicato potrebbe essere quello che ho scritto prima, dove oltre alle info essenziali ci sono anche altri caratteri..
Comunque questi sono alcuni esempi:

Codice: Seleziona tutto

NOTE:08.06.11-2(3)\" 29.06.11-2(3)\" 20.07.11-2(3)\" 01.09.11-2(3)\" 23.09.
 11-2(4)\" 14.10.11-2(5)\" 03.11.11-2(6)\" 29.11.11-2(9)\" 20.12.11-2(9)\" 
 11.01.12-2(3)\" 01.02.12-2(3)\" 22.02.12-2(9)\" 14.03.12-2(9)\" 04.04.12-2
 (3)\" 26.04.12-2(3)\" 23.05.12-2(3)\" 13.06.12-2-3(9)\" 04.07.12-T(8)\"23.
 08.12-2(3)\"13.09.12-2(6)\"\nUser: corsista
NOTE:26.10.10-2(1)\" 12.11.10-2(1)\" 01.12.10-2(1)\" 19.12.10-2(1)\" 04.01.
 11-2(1)\" 24.01.11-2(1)\"  11.02.11-2(1)\" 28.02.11-2(1)\" 15.03.11-2(1)\"
  01.04.11-2(1)\" 15.04.11-3(1)\" 19.04.11-2(1)\" 06.05.11-2(1)\" 20.05.11-
 2(1)\" 07.06.11-2(1)\" 28.06.11-2(1)\" 15.07.11-2(1)\" 03.08.11-2(1)\" 20.
 12.11-2(1)\" 24.01.11-2(1)\" 11.02.11-2(1)\" 28.02.11-2(1)\" 15.03.11-2(1)
 \" 01.04.11-2(1)\" 09.01.12-2(1)\" 27.01.12-2(1)\" 14.02.12-2(1)\" 02.03.1
 2-2(1)\" 20.03.12-2(1)\" 06.04.12-2(1)\" 24.04.12-2(1)\" 11.05.12-2(4)\" 0
 5.06.12-2(1)\" 26.06.12-2(1)\" 17.07.12-2(1)\"\n\n.
NOTE:15.10.10.2(8)\" 05.11.10-2(2)\" 26.11.10-2(2)\" 21.12.10-2(9) no show
NOTE:07.04.11-834(@)\" 15.09.11-4609-@ 31.03.12-9331@ 04.03.12-9446-@ 17.03
 .12-12145@\n
Quà ci sono degli errori.. per esempio "07.04.11-834(@)" contiene una '@' dentro le tonde
mentre invece ci dovrebbero stare solo numeri....

Comunque questa dovrebbe essere la procedura da intraprendere :)
  • dividere tutte le note dal carattere ' " ' (doppio apice) e ciclare per ogni una;
    Vedere se su ogni nota si trova la parola 'show'
    Convertire la data dal formato italiano a quello americano
    Trovare il numero dei trattamenti, sono divisi da un meno e possono essere diversi
    Trovare il codice dipendente tra le tonde
Su i primi due punti sembrerebbe che ci sono ma non saprei come un'istruzione possa scrivere ciclicamente delle cose..
Diciamo che mi fermo quì:

Codice: Seleziona tutto

<?php
$prova="01.05.12-2-4";
$nota=preg_replace('/(\d{2}).(\d{2}).(\d{2})-/', 'INSERT INTO....(\'20$3-$2-$1 00:00:00\', ', $prova);
print $nota;
?>
In questo caso devo scrivere 2 query, una con trattamento 2 ed un'altra con il 4 sempre con stessa data e dipendente
Al momento la vedo grigia...

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Aiuto RegExpression

Messaggio da targzeta »

Quindi quando si incontra una con '(@)' o una con '-@' o una con '-122@' cosa bisogna fare? Annullare tutto?

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Avatar utente
darkstaring
Linux 3.x
Linux 3.x
Messaggi: 657
Iscritto il: mer 13 ott 2010, 13:55
Nome Cognome: Francesco Achenza
Desktop: KDE
Distribuzione: Arch Linux
Contatta:

Re: Aiuto RegExpression

Messaggio da darkstaring »

Ahahahaahah :)
ci stai ancora lavorando
Ti posto le tabelle così rendo meglio l'idea

Codice: Seleziona tutto

mysql> select * from trattamento;
+------+-------------------+
| tipo | descrizione       |
+------+-------------------+
| 1    | Ricostruzione     |
| 2    | Refill            |
| 3    | Ricostr. Piedi    |
| @    | Tratt Estetico    |
| A    | Riparazione       |
| A2   | Riparazione mani  |
| A3   | Riparazione piedi |
| SP   | Semipermanente    |
| T    | Tolte             |
| T2   | Tolte mani        |
| T3   | Tolte piedi       |
| XX   | SCONOSCIUTO       |
+------+-------------------+
12 rows in set (0.00 sec)

mysql> select * from dipendenti;
+----+-------------+---------+----------+
| id | nome        | Cognome | Telefono |
+----+-------------+---------+----------+
|  1 | Sandra      | cognome | telefono |
|  2 | Rita        | cognome | telefono |
|  3 | Paola       | cognome | telefono |
|  4 | Ornella     | cognome | telefono |
|  5 | Ester       | cognome | telefono |
|  6 | Antonella   | cognome | telefono |
|  7 | Daniela V   | cognome | telefono |
|  8 | Floriana    | cognome | telefono |
|  9 | Claudia     | cognome | telefono |
| 10 | Daniela B   | cognome | telefono |
| 11 | Denise      | cognome | telefono |
| 12 | Bengi       | cognome | telefono |
| 13 | Francesca   | cognome | telefono |
| 14 | SCONOSCIUTO | cognome | telefono |
| 20 | Grazia      | cognome | telefono |
+----+-------------+---------+----------+
15 rows in set (0.00 sec)
Dove l'appuntamento è formato da
giorno.mese.anno-trattamento1-trattamento2.....-trattamentoN ( dipendente )
Per quanto sia contorta
questa è la mia soluzione

Codice: Seleziona tutto

<?php
//CONNETTO A MYSQL
	if (!($mylink = mysql_connect("localhost","root","")))
	{
		print "<h3>Non riesco a collegarmi a mysql, modifica connessione.php</h3>\n";
		exit;
	}
	
	mysql_select_db("AGENDASASSARI");// or die "Non riesco a selezionare il database";
	$nomefile="sassari.vcf";
/*	mysql_select_db("AGENDAPTORRES");
	$nomefile="ptorres.vcf";
	mysql_select_db("AGENDASORSO");
	$nomefile="sorso.vcf";
*/
$elimina_appuntamenti=mysql_query("delete from appuntamenti;");
if($elimina_appuntamenti==FALSE) print "Non riesco ad eliminare i vecchi appuntamenti!".mysql_error();
$elimina_clienti=mysql_query("delete from clienti;");
if($elimina_clienti==FALSE) print "Non riesco ad eliminare i vecchi clienti!".mysql_error();

$idcliente="";

  $file = fopen("$nomefile", "r" )or die ("Non posso aprire il file \n");
  $stato = 0;
  while (! feof($file))
  {
    $riga=preg_replace('/[[:space:]]+/', ' ', fgets($file, 1024));
    
    //TRASFORMO RIGA IN MAIUSCOLO
    $riga= strtoupper($riga);
    //$riga= str_replace("'","",$riga);
    
    $show=0;
    if ( substr($riga,0,2) == "FN") 
      $stato=1;
    elseif (substr($riga,0,3) == "TEL")
      $stato=2;
    elseif ( substr($riga,0,4) == "NOTE")
      $stato=3;
    elseif ( substr($riga,0,3) == "END")
      $stato=4;    
    elseif (($stato != 3)||($stato == 0) )
      continue;
 
    switch($stato)
    {
      case 1:
	$nome_cognome=substr($riga, 3);
	$nome_cognome=str_replace("'","",$nome_cognome);
	$nome_array = explode(" ", $nome_cognome);
	if(isset($nome_array[3]))
	{
	  $nome_array[0]=$nome_array[0]."".$nome_array[1];
	  $nome_array[2]=$nome_array[3];
	}
	if ($nome_array[0] == "") $nome_array[0] = "Sconosciuto";
	if ($nome_array[1] == "") $nome_array[1] = "Sconosciuto";
	$stato=0;
	break;
      case 2:
	$telefono= substr($riga,14);
	//print "<BR><h3>$nome_array[0] $nome_array[1]</h3>";
	/*
	 $stringaclienti="INSERT INTO clienti VALUES (NULL, '$nome_array[0]','$nome_array[1]','$telefono', NULL);";
	db_clienti($stringaclienti);
	$idcliente=mysql_insert_id();
	*/
	//print "<BR><FONT color=GREEN>Ultimo ID cliente inserito = $idcliente</FONT>";
	$stato=0;
	break;
      case 3:
	if(isset($note)) $note= $note."".$riga;
	else $note=substr($riga,5);
	break;
      case 4:
	if(!isset($note))
	{
	  $stato=0;
	  continue;
	}
	//INSERISCO QUÌ IL CLIENTE, SOLO SE CI SONO APPUNTAMENTI
	$stringaclienti="INSERT INTO clienti VALUES (NULL, '$nome_array[0]','$nome_array[1]','$telefono', NULL, NULL);";
	db_clienti($stringaclienti);
	$idcliente=mysql_insert_id();
	
	//Divido ogni singolo appuntamento
	$appuntamenti = explode("\"", $note);
	if(count($appuntamenti) < 1)
	{
	   $stato=0;
	   continue;
	}
	  for($j=0;$j<count($appuntamenti);$j++)
	    {
	      controlla_appuntamento($appuntamenti[$j]);       
	    }
	    if(preg_match("*:*",$note))
	      {
		$note=@explode(":",$note);
		aggiornainfocliente($note);
	      }
	    $stato=0;
	    unset($note);unset($nome_array);unset($data);unset($appuntamenti);
	    break;
     }//FINE SWITCH
  }//FINE LEGGI-RIGA
?>

<?php

function controlla_appuntamento($appuntamento)
{
global $idcliente;
//Elimino gli spazi: 
	      $appuntamento=str_replace(" ", "", $appuntamento);
	      //verifico se no show e metto 1 se cè
	      if(preg_match("/show/i",$appuntamento)) $show=1;
	      else $show=0;
	      $s_appunt=explode(")", $appuntamento);
	      //Esempio $s_appunt[0] => 16.11.10-2(4 => 21.05.11-2-5-2-3(3
	      $info= explode("-",$s_appunt[0]);
	      
	      //Formo la data
	      $data=$info[0]; //INFO[0] CONTIENE DATA
	      
	      //ELIMINO LETTERE BACKSLASH E ' :'
	      $data=ereg_replace("[A-Z]","",$data);
	      $data=str_replace("\\","",$data);
	      $data=str_replace("\/","",$data);
	      $data=str_replace(":","",$data);
	      
	      $data=explode(".",$data);
	      if( isset($v_data[0]) && isset($v_data[1]) && isset($v_data[2]) )
		    $data=controlladata($data);
	      //else break;
	      
	      //Trovo tutti i trattamenti per questo appuntamento
	      //da INFO[1] a INFO[FINE]
	      for($i=count($info)-1;$i>0;$i--)
		  {
		    if(@preg_match("*\(*", $info[$i]))
		      {
		      //print "<BR>TROVO: $info[$i]<BR>";
			$divisione=explode("(",$info[$i]);
			$dipendente= $divisione[1];
			$dipendente=controlladipendente($dipendente);
			$prestazione= $divisione[0];
			$prestazione=controllaprestazione($prestazione);
			@$stringaappuntamenti="INSERT INTO appuntamenti VALUES  ( null , '20$data[2]-$data[1]-$data[0] 10:00:00', '$s_appunt[0]', $idcliente, $dipendente, '$prestazione',$show);";
			db_trattamenti($stringaappuntamenti);
		      }else
		      {
			$prestazione=$info[$i];
			$prestazione=controllaprestazione($prestazione);
			@$stringaappuntamenti="INSERT INTO appuntamenti VALUES  ( null , '20$data[2]-$data[1]-$data[0] 10:00:00', '$s_appunt[0]', $idcliente, $dipendente, '$prestazione',$show);";
			db_trattamenti($stringaappuntamenti);
		      }
		  }
}
function aggiornainfocliente($x)
{
  global $idcliente;
  $infocliente="";
  for ($i=1;$i<count($x);$i++)
  {
    if(isset($infocliente)) $infocliente= $infocliente."".$x[$i];
    else $infocliente=$x[$i]; 
  } 
  $infocliente=str_replace("\"","",$infocliente);
	$aggiornainfo="update clienti set info = \"$infocliente\" where id=$idcliente";

	if( mysql_query($aggiornainfo)==FALSE)
	  {
	    print "ERRORE INFO CLIENTE $idcliente \t ESPRESSIONE: $aggiornainfo \n \n";
	  }
}

function controlladata($v_data)
{
  global $nome_array;
  if(! isset($v_data[0])) //SE GIORNO NON PRESENTE
    $v_data[0]=1;
  if(! isset($v_data[1])) //SE MESE NON PRESENTE
    $v_data[1]=1;
  if(! isset($v_data[2])) //SE ANNO NON PRESENTE
    $v_data[2]=50;
  
  if(checkdate($v_data[1],$v_data[0],"20".$v_data[2]) == FALSE)
    print "CLIENTE: $nome_array[0] $nome_array[1] data \"$v_data[0],$v_data[1],20.$v_data[2]\" non valida \n";
return($v_data);
}
function controlladipendente($x)
{
  //AGGIUNGERE SE CE UN NUMERO CONTROLLA SE +DI 14+
  if ($x=='A')
  {
    $x="6";
    return($x);
  }elseif ($x=='B')
  {
    $x="12";
    return($x);
  }else
  if(@preg_match("/[A-Z]/",$x)) $x="14";
  elseif( (int)$x > 13) $x=14;
  return ($x);
}
function controllaprestazione($prestazione)
{
  if (($prestazione == "1" ) || ($prestazione == "2" ) ||($prestazione == "3" ) || ($prestazione == "@" ) || ($prestazione == "A" ) || ($prestazione == "A2" ) || ($prestazione == "A3" ) || ($prestazione == "SP" ) || ($prestazione == "T" ) || ($prestazione == "T2" ) || ($prestazione == "T3" ) )
      return($prestazione);
  elseif($prestazione == "3T") $prestazione="T3";
  else  $prestazione="XX"; //Per tutti i caratteri non in trattamenti

    return($prestazione);
}

function db_clienti($query)
{
  //print "<BR> Query arrivata: \t $query <BR>";
  if(mysql_query($query) == FALSE)
      {
	print "ERRORE INSERIMENTO CLIENTE \t \t '$query' \n \n";//.mysql_error();
      }
      //else print "<BR>OK APPUNTAMENTO \t '$query' ";
}

function db_trattamenti($query)
{
  if(mysql_query($query) == FALSE)
      {
      
	global $j;
	global $appuntamenti;
	global $nome_array;
	print "ERRORE APPUNTAMENTO di |$nome_array[0] - $nome_array[1]| \t ESPRESSIONE ARRIVATA: $appuntamenti[$j]\n"; ;// \t '$query' <br></font>";//.mysql_error();
	//print "Query arrivata: \t $query \n \n";
      }
      //else print print "<BR>OK APPUNTAMENTO \t '$query' ";
}

?>
Quindi credi sia possibile fare tutto in una istruzione?

Avatar utente
targzeta
Iper Master
Iper Master
Messaggi: 6629
Iscritto il: gio 3 nov 2005, 14:05
Nome Cognome: Emanuele Tomasi
Slackware: 64-current
Kernel: latest stable
Desktop: IceWM
Località: Carpignano Sal. (LE) <-> Pisa

Re: Aiuto RegExpression

Messaggio da targzeta »

Io volevo solo sapere se '-@' fosse valido oppure no, ma da quello che vedo, sì.

Per il resto, a me basti che ti funzioni e che tu ne sia soddisfatto. Quello che ti dicevo è che se dai uno sguardo alla funzione preg_match() di PHP, ti accorgerai che puoi spezzare la tua riga in un array secondo una regexp e quindi poi effettuare tutte le operazioni che vuoi direttamente su quell'array. Prova a darci un'occhiata e se hai bisogno di un aiuto, noi siamo qui.

Emanuele
Se pensi di essere troppo piccolo per fare la differenza, prova a dormire con una zanzara -- Dalai Lama

Rispondi