Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Nano: la piccola fotocamera alla prova sul campo
DJI Osmo Nano: la piccola fotocamera alla prova sul campo
La nuova fotocamera compatta DJI spicca per l'abbinamento ideale tra le dimensioni ridotte e la qualità d'immagine. Può essere installata in punti di ripresa difficilmente utilizzabili con le tipiche action camera, grazie ad una struttura modulare con modulo ripresa e base con schermo che possono essere scollegati tra di loro. Un prodotto ideale per chi fa riprese sportive, da avere sempre tra le mani
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III, la nuova mirrorless compatta
FUJIFILM X-T30 III è la nuvoa fotocamera mirrorless pensata per chi si avvicina alla fotografia e ricerca una soluzione leggera e compatta, da avere sempre a disposizione ma che non porti a rinunce quanto a controllo dell'immagine.
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati
Da Las Vegas, la visione di Larry Ellison e la concretezza di Clay Magouyrk definiscono la nuova traiettoria di Oracle: portare l’intelligenza artificiale ai dati, non i dati all’intelligenza, costruendo un’infrastruttura cloud e applicativa in cui gli agenti IA diventano parte integrante dei processi aziendali, fino al cuore delle imprese europee
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 24-02-2007, 15:44   #1
SCYHO
Member
 
L'Avatar di SCYHO
 
Iscritto dal: Dec 2004
Messaggi: 88
[PHP]Espressione regolare

Ciao ragazzi.

Ho bisogno di un'espressione regolare che data ad esempio la stringa 123blabla

mi restituisca solo blabla, cioè elimini le prime cifre finkè sono numeri. Ho provato in questo modo ma mi fa la cosa inversa, cioè mi restituisce solo i numeri.

Codice PHP:
$stringa "123blabla";
preg_match("/^[0-9]*/",$stringa,$match);
echo 
$match[0];  //restituisce 123 
grazie per l'aiuto
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles
MA CHI ERANO MAI QUESTI BEATLES"
SCYHO è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2007, 20:23   #2
dinkydinkydinky
Junior Member
 
Iscritto dal: Aug 2006
Messaggi: 2
Ciao, il primo campo della funzione "preg_match" consiste nel pattern. Nel tuo caso con "/^[0-9]*/", la funzione ti ritornerà in $match[0] solo i numeri contenuti nella stringa passata come input. A questo punto basta che elimini i numeri trovati all'inizio della stringa, ad esempio utilizzando la funzione "substr".
Ecco il codice:

Codice:
<?php
$stringa = "123blabla";
preg_match("/^[0-9]*/", $stringa, $match);
$stringa = substr($stringa, strlen($match[0]));
echo $stringa;
?>
Spero ti sia di aiuto , Ciao!
dinkydinkydinky è offline   Rispondi citando il messaggio o parte di esso
Old 24-02-2007, 20:32   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da SCYHO Guarda i messaggi
Ho bisogno di un'espressione regolare che data ad esempio la stringa 123blabla

mi restituisca solo blabla
Fai così:
Codice:
preg_match("/^[0-9]*(\\w+)/",$stringa,$match);
Se fai un var_dump di $match ottieni:
Codice:
array(2) {
  [0]=>
  string(9) "123blabla"
  [1]=>
  string(6) "blabla"
}
Sicuramente hai già capito cosa succede: in $match[0] hai l'intera parte matchata, mentre in $match[1] solo la parte catturata dalle parentesi.

EDIT: Se invece di usare \w (che prende un "word" character) vuoi prendere qualunque cosa, puoi mettere (.+)
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)

Ultima modifica di andbin : 24-02-2007 alle 21:18.
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 17:28   #4
SCYHO
Member
 
L'Avatar di SCYHO
 
Iscritto dal: Dec 2004
Messaggi: 88
Quote:
Originariamente inviato da andbin Guarda i messaggi
Fai così:
Codice:
preg_match("/^[0-9]*(\\w+)/",$stringa,$match);
Se fai un var_dump di $match ottieni:
Codice:
array(2) {
  [0]=>
  string(9) "123blabla"
  [1]=>
  string(6) "blabla"
}
Sicuramente hai già capito cosa succede: in $match[0] hai l'intera parte matchata, mentre in $match[1] solo la parte catturata dalle parentesi.

EDIT: Se invece di usare \w (che prende un "word" character) vuoi prendere qualunque cosa, puoi mettere (.+)


perchè non mi trovo?

Codice PHP:
$stringa2 $_POST[DepEquip];
preg_match("/^[0-9]*(\\w+)/",$stringa2,$mazz);
echo
"$mazz[0]"
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles
MA CHI ERANO MAI QUESTI BEATLES"
SCYHO è offline   Rispondi citando il messaggio o parte di esso
Old 25-02-2007, 17:53   #5
SCYHO
Member
 
L'Avatar di SCYHO
 
Iscritto dal: Dec 2004
Messaggi: 88
scusa la stupiddaggine, errore mio. mi trovo perfettamente.

ultima cosa, se la stringa è un'intera riga? cioè es: "123blabla oppure bloblo"
l'espressione regolare dovrebbe fare lo stesso restituire "blabla oppure bloblo"
ma per ora mi restituisce solo blabla

grazie ancora sciao
__________________
"Voi che li avete girati nei giradischi e gridati voi che li avete aspettati ascoltati bruciati e poi scordati..chi erano mai questi Beatles
MA CHI ERANO MAI QUESTI BEATLES"
SCYHO è offline   Rispondi citando il messaggio o parte di esso
Old 26-02-2007, 09:22   #6
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da SCYHO Guarda i messaggi
ultima cosa, se la stringa è un'intera riga? cioè es: "123blabla oppure bloblo"
l'espressione regolare dovrebbe fare lo stesso restituire "blabla oppure bloblo"
ma per ora mi restituisce solo blabla
L'ho spiegato sopra: \w indica un "word character", quindi è normale che interrompa il match appena trova uno spazio. Usa (.+) invece di (\\w+)
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 15:25   #7
Stiwy.NET
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 611
Visto che ci siamo sapete dirmi un ottimo sito dove trovare le istruzioni per le regular expression? E' anni che ne cerco una decente,ma non ne trovo mai.!
Stiwy.NET è offline   Rispondi citando il messaggio o parte di esso
Old 27-02-2007, 15:44   #8
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da Stiwy.NET Guarda i messaggi
Visto che ci siamo sapete dirmi un ottimo sito dove trovare le istruzioni per le regular expression? E' anni che ne cerco una decente,ma non ne trovo mai.!
Innanzitutto bisogna precisare che i costrutti usati per le espressioni regolari non sono uguali e comuni a tutti i linguaggi di programmazione che ne fanno uso.
Ci sono certamente delle basi comuni (es. le classi di caratteri o i quantificatori ? + *) ma molto spesso ogni linguaggio di programmazione ha il suo "set" di costrutti che magari contiene dei costrutti particolari o differisce da altri linguaggi per delle sottigliezze.

Comunque si può partire da qui:
http://en.wikipedia.org/wiki/Regular_expression
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Osmo Nano: la piccola fotocamera alla prova sul campo DJI Osmo Nano: la piccola fotocamera alla prova ...
FUJIFILM X-T30 III, la nuova mirrorless compatta FUJIFILM X-T30 III, la nuova mirrorless compatta
Oracle AI World 2025: l'IA cambia tutto, a partire dai dati Oracle AI World 2025: l'IA cambia tutto, a parti...
Micron e millisecondi: la piattaforma ServiceNow guida l'infrastruttura IT di Aston Martin F1 Micron e millisecondi: la piattaforma ServiceNow...
ASUS GeForce RTX 5080 Noctua OC Edition: una custom fenomenale, ma anche enorme ASUS GeForce RTX 5080 Noctua OC Edition: una cus...
I robot aspirapolvere Neato diventeranno...
Lux e Discovery, AMD e il Dipartimento d...
Qualcomm entra nei datacenter: annunciat...
Amazon prepara il più grande lice...
Un post di Sean Duffy (amministratore ad...
SpaceX ha già lanciato oltre 135 ...
GeForce RTX 5060 Ti 8GB: non piace neanc...
Isar Aerospace Spectrum: il fallimento d...
'State lontani dalla GeForce RTX 5090 Fo...
GJ 251 c è la ''super-Terra'' sco...
Halo è ufficialmente multipiattaf...
Windows 11 25H2 e 24H2: come attivare su...
Brembo Solutions e Microsoft danno vita ...
Migliaia di pacchi Amazon rubati ai legi...
Ex CEO di Stellantis: Musk lascerà...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:39.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v