且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

PHP preg_match查找整个单词

更新时间:2022-10-14 19:46:54

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

位置:

  • \b是单词边界
  • \w+是一个或多个单词"字符 *
  • \w*是零个或多个单词"字符

有关PCRE的信息,请参见转义序列上的手册. /p>


*注意:尽管不是真正的单词字符",但下划线_也包含在字符类\w中.

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?

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.