2011-04-20 114 views
0

如何在php中使用preg_match來自行匹配整個單詞,而不是當它是另一個單詞的一部分時。preg_match in php

即。

151:151-220 - 應該是匹配。 51:151-220 - 不應該是一個匹配。

幫助!

回答

1
preg_match('/\b151\b/', $string) 

\b 「單詞邊界」

+0

可能會或可能不相關,但是您應該使用'preg_quote($ strActionKey,'/')''來轉義ActionKey中可能出現的正則表達式字符。 – VoteyDisciple 2011-04-20 16:12:34

+0

如果這不能解釋問題,我們需要了解更多細節。 'preg_match('/ \ b151 \ b /','151-220');'確實匹配,而'preg_match('/ \ b51 \ b /','151-220');'沒有,所以必須比你在例子中給出的更多。 – VoteyDisciple 2011-04-20 16:14:29

0

嘗試在你的正則表達式使用\b匹配。他們是詞的邊界。例如:/\b151\b/

0

使用\b修飾符,它指示字邊界。

preg_match('/\b...\b/', $your_string);