Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta
Google ha appena rinnovato la sua celebre serie A con il Pixel 10a, lo smartphone della serie più conveniente se consideriamo il rapporto tra costo e prestazioni. Con il chip Tensor G4, un design raffinato soprattutto sul retro e l'integrazione profonda di Gemini, il colosso di Mountain View promette un'esperienza premium a un prezzo accessibile. E il retro non ha nessuno scalino
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026
Al MWC Qualcomm annuncia una coalizione industriale per lanciare il 6G entro il 2029 e introduce agenti IA per la gestione autonoma della RAN. Ericsson, presente sul palco, conferma la direzione: le reti del futuro saranno IA-native fin dalla progettazione
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso
CHUWI CoreBook Air è un ultraleggero da 1 kg con Ryzen 5 6600H, display 14" 16:10 e 16 GB LPDDR5. Offre buona portabilità, autonomia discreta e costruzione in alluminio, ma storage PCIe 3.0 e RAM saldata limitano l'espandibilità. A 549 euro sfida brand più noti nella stessa fascia di mercato.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 06-09-2011, 15:38   #1
grigor91
Senior Member
 
L'Avatar di grigor91
 
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
[PHP] Espressioni regolari problema ricorrenze esatte

Eseguendo questo codice:
Codice PHP:
<?php
echo preg_match('/b?/''abcbbc');
echo 
'<br/>';
echo 
preg_match('/b{1}/''abcbbc');
?>
ottengo:
Codice:
1
1
Anche se il carattere 'b' è presente più di 1 volta. Come mai?
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R
grigor91 è offline   Rispondi citando il messaggio o parte di esso
Old 06-09-2011, 18:36   #2
les2
Senior Member
 
L'Avatar di les2
 
Iscritto dal: Mar 2001
Città: MI
Messaggi: 1801
direttamente dalla documentazione ufficiale, che non hai letto :P

Quote:
preg_match() returns the number of times pattern matches. That will be either 0 times (no match) or 1 time because preg_match() will stop searching after the first match. preg_match_all() on the contrary will continue until it reaches the end of subject. preg_match() returns FALSE if an error occurred.

restituisce true o false (0,1) e si ferma,
devi usare preg_match_all() perchè continui
les2 è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2011, 10:02   #3
grigor91
Senior Member
 
L'Avatar di grigor91
 
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
Il fatto è che il pattern dovrebbe trovare riscontro se la b è presente una e una sola volta, quindi dovrebbe ritornare 0, non 1.

PS: la documentazione ufficiale l'ho letta parecchie volte
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R
grigor91 è offline   Rispondi citando il messaggio o parte di esso
Old 07-09-2011, 19:54   #4
Kenger
Member
 
Iscritto dal: Aug 2005
Messaggi: 168
Quote:
Originariamente inviato da grigor91 Guarda i messaggi
Il fatto è che il pattern dovrebbe trovare riscontro se la b è presente una e una sola volta, quindi dovrebbe ritornare 0, non 1.

PS: la documentazione ufficiale l'ho letta parecchie volte
Direi che hai due approcci possibili. O fai

Codice PHP:
countpreg_match_all('/b/') ) == 
Che ti ritorna true se c'è una sola b in tutta la stringa o 0 se non ce ne è neanche una o più di 1.

oppure fai

Codice PHP:
preg_match_all('/b.*b/'
che matcha se c'è più di una b. Ma se devi controllare se c'è una sola ripetizione di una stringa in un altra fai prima a fare

Codice PHP:
substr_count("b""aasdbasdb") == 
Kenger è offline   Rispondi citando il messaggio o parte di esso
Old 08-09-2011, 10:34   #5
grigor91
Senior Member
 
L'Avatar di grigor91
 
Iscritto dal: Dec 2007
Città: brianza
Messaggi: 717
Però in un caso più complesso come la validazione di un indirizzo e-mail questi aprocci sono difficilmente realizzabili.
Per esempio in questo caso:
Codice PHP:
preg_match('/[A-Za-z0-9_][A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.{1}[A-Za-z]{2,4}/''[email protected]'); 
la funzione ritorna 1 nonostante non sia un indirizzo valido.

Anche leggendo la documentazione di PHP si nota come il quantificatore '{n}' risulti verificato solo se le occorrenze sono esattamente n:

"Thus [aeiou]{3,} matches at least 3 successive vowels, but may match many more, while \d{8} matches exactly 8 digits."
__________________
AMD Ryzen 9700X MSI RX 480 Gaming X 8G ASRock B850 Pro-A Windows 11 Pro RAM DDR5 16GBx2 TEAMGROUP T-Create Expert 6000 MHz CL30 SSD Crucial T500 4TB case Corsair Carbide 200R
grigor91 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione Google Pixel 10a, si migliora poco ma è sempre un'ottima scelta Recensione Google Pixel 10a, si migliora poco ma...
6G, da rete che trasporta dati a rete intelligente: Qualcomm accelera al MWC 2026 6G, da rete che trasporta dati a rete intelligen...
CHUWI CoreBook Air alla prova: design premium, buona autonomia e qualche compromesso CHUWI CoreBook Air alla prova: design premium, b...
Roborock Saros 20: il robot preciso e molto sottile Roborock Saros 20: il robot preciso e molto sott...
ASUS ROG Kithara: quando HIFIMAN incontra il gaming con driver planari da 100mm ASUS ROG Kithara: quando HIFIMAN incontra il gam...
Rocket Lab ha posticipato il lancio del ...
Dalla missione Artemis IV il razzo spazi...
Una delle sonde europee di ESA Proba-3 h...
Un modder fa girare Linux su PS5: GTA V ...
MacBook Neo: nessuna sorpresa nei primi ...
La serie POCO X8 Pro è pronta al ...
Smartphone: 2026 difficile per il mercat...
Star Wars: Knights of the Old Republic R...
Huang, NVIDIA: OpenClaw ha realizzato in...
Annunciano il recupero di 4,8 milioni di...
Oggi degli ottimi auricolari Sony con ca...
Muffa in casa? Questo deumidificatore da...
Sonos Era 100: il punto d'ingresso per u...
"Non stiamo sostituendo nessuno con...
Tutti i robot in offerta ora: prezzi bas...
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: 05:06.


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