Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP preg_match to find whole words

Tags:

I'm quite new to regular expressions. Could you help me to create a pattern, which matches whole words, containing specific part? For example, if I have a text string "Perform a regular expression match" and if I search for express, it shuld give me expression, if I search for form, it should give me Perform and so on. Got the idea?

like image 508
tintix Avatar asked Jan 18 '11 08:01

tintix


1 Answers

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

Where:

  • \b is a word boundary
  • \w+ is one or more "word" character*
  • \w* is zero or more "word" characters

See the manual on escape sequences for PCRE.


* Note: although not really a "word character", the underscore _ is also included int the character class \w.

like image 198
Linus Kleen Avatar answered Nov 01 '22 04:11

Linus Kleen