我試圖從電子郵件主題行中抽出一個詞作爲附加電子郵件的類別。只要Preg_match不只是一個單詞(這就是我想要做的事情),Preg_match很有效。如果主題行中只有一個單詞,我只是得到一個空數組。在這種情況下,我試圖將$匹配視爲一個變量,但這也不起作用。任何人都可以告訴我,preg_match是否可以在單個單詞上工作,或者更好的方法是做什麼?Preg_match何時字符串有時是單個單詞?
非常感謝
我試圖從電子郵件主題行中抽出一個詞作爲附加電子郵件的類別。只要Preg_match不只是一個單詞(這就是我想要做的事情),Preg_match很有效。如果主題行中只有一個單詞,我只是得到一個空數組。在這種情況下,我試圖將$匹配視爲一個變量,但這也不起作用。任何人都可以告訴我,preg_match是否可以在單個單詞上工作,或者更好的方法是做什麼?Preg_match何時字符串有時是單個單詞?
非常感謝
假設\b(?:word1|word2|word3)\b
它不會匹配「word1」的原因是因爲您包含一個字詞分隔符\b
。
你可以做的是隻是單純地總是注入單詞分隔符:
preg_match("\b(?:word1|word2|word3)\b", "." . $subject . ".", $matches);
原油,但有效。
preg_match
將一個字符長在一根繩子上的工作。我認爲這裏的問題可能是你的正則表達式。我的猜測是,你正在測試空白,因爲它沒有發現它說沒有匹配。嘗試追加'^([^\s]*)$|'
到您的正則表達式,我打賭它將開始拾取這些單詞值。 ([^\s]
手段給我任何事情中有沒有空格,|
手段「或」。通過將它添加到你的正則表達式的前面,它包括萬物而不空白或不管你已經有了)
請提供您正在使用的正則表達式。 – 2011-06-11 23:30:01
是'preg_match'可以在單個單詞上工作。發佈您的正則表達式以及您想要完成的任務。 – Halcyon 2011-06-11 23:33:26