PHP: lettura di preg_match???

Pubblicità

dr.pexquz

Utente Attivo
Messaggi
346
Reazioni
9
Punteggio
39
Salve a tutti! Devo fare la tesina d'esame. Per far ciò ho necessità di interfacciare una porta seriale in PHP. Ho trovato qui una classe, ma la riga 88 non ho idea di come leggerla. Per la precisione il primo parametro della funzione. Mi spieghereste esattamente ogni carattere cosa significhi? Ho capito solo che COM sia una parte della stringa, ma non sono sicuro nemmeno di quello!! Questa è la linea è in QUI vi ho messo il link al codice.

preg_match("@^COM(\d+):?$@i", $device, $matches);

E' estremamente urgente, altrimenti sono bloccato. Grazie mille!! :help::help::help:
 
"@^COM(\d+):?$@i"

@ = delimitatore
^ = inizio della stringa
COM = stringa da cercare
(\d+) = piu' di una cifra decimale
: = stringa da cercare
? = un carattere qualsiasi (anche nessuno)
$ = fine della stringa
@ = delimitatore
i = non fare differenza tra maiuscole e minuscole

quindi ...
COM5: sarebbe presa
COM55:x sarebbe presa
xCOM4: non sarebbe presa
COM5:xx non sarebbe presa

ps.
- il manuale di php è tuo amico: PHP: preg_match - Manual ;)
- la sintassi delle espressione regolari dovrai impararla se vuoi usare queste funzioni ;)
 
grazie mille!! avevo gia visto quella pagina ma non avevo capito un granchè :asd: non ho capito bene un ultima cosa. cosa intendi per delimitatore? ho un po' di problema a comprendere queste stringhe strane. perdonate la mia igoranza! :D ps: mi avete salvato! :inchino:
 
nelle varie funzioni preg_ devi indicare nella stringa che identifica quale espressione usare per il matching un delimitatore che serve al sistema per identificare l'espressione regolare e dividerla da eventuali modificatori (tipo la i finale).

in questo caso è stato scelto di usare @, ma si poteva scegliere anche qualche altra cosa (/ , #, |).

"@^COM(\d+):?$@i"
sarebbe stata scrivibile anche come:
"#^COM(\d+):?$#i"
o
"/^COM(\d+):?$/i"


Mi sa che adesso avrai da studicchiare le regexp ... avrai di che divertirti e scoprirai che possono salvarti la pelle molto spesso.
 
Pubblicità
Pubblicità
Indietro
Top