這是我的模式:的preg_match劈裂兩個一個字,最後一個字符返回作爲拍攝組
$fullname = '/^([a-zA-Z]+)(?:[,]?[\s]?)?([a-zA-Z]+)((?:\s)([a-zA-Z]{1}))?$/i';
,我使用它在PHP preg_match($nameReg, $value, $match)
。
我想捕獲姓氏,然後名字。由於我將使用ajax在我的sql語句中使用LIKE動態加載結果,因此我想從姓氏開始,而不是等待第一個名字。
問題是,當我只輸入姓氏(第一個單詞)時,我將姓氏的最後一個字符作爲捕獲組。
Array
(
[0] => SMITH
[1] => SMIT
[2] => H
)
我想獲得
Array
(
[0] => SMITH
[1] => SMITH
)
,但我不明白是怎麼回事。
你應該使用'/ x'修正,使您的正則表達式的可讀性。 – mario