2011-01-18 11 views
21

Sono abbastanza nuovo per le espressioni regolari. Potresti aiutarmi a creare un modello, che corrisponda a parole intere, contenente parti specifiche? Per esempio, se ho una stringa di testo "eseguire una corrispondenza espressione regolare" e se cerco esprimono, mi shuld dare espressione, se cerco forma, dovrebbe darmi eseguire e così sopra. Hai l'idea?PHP preg_match per trovare intere parole

risposta

38
preg_match('/\b(express\w+)\b/', $string, $matches); // matches expression 
preg_match('/\b(\w*form\w*)\b/', $string, $matches); // matches perform, 
                // formation, unformatted 

Dove:

  • \b è un confine di parola
  • \w+ è uno o più "parola" carattere *
  • \w* è zero o più caratteri "parola"

Vedere il manuale su escape sequences per PCRE.


* Nota: anche se non proprio un "carattere di parola", la sottolineatura _ è anche incluso int la classe di caratteri \w.

+0

Grazie goreSplatter! Funziona! – tintix

+0

È grandioso. Proprio quello che stavo cercando ... +1 – OrPaz

+0

\ b Confine di parole, bello ... Perché non l'ho visto fino ad ora? Utile. – Andrew

4

Corrisponde 'Perform':

\b(\w*form\w*)\b 

Questo partite 'espressione':

\b(\w*express\w*)\b 
Problemi correlati