我碰上了下面的字符串分割爲「標記」:請解釋這個正則表達式來我
$tokens = preg_split("/[^\-_A-Za-z0-9]+/", $string);
有人能向我解釋這是怎麼與此不同:
$tokens = explode(' ', $string);
任何幫助將不勝感激:-)
我碰上了下面的字符串分割爲「標記」:請解釋這個正則表達式來我
$tokens = preg_split("/[^\-_A-Za-z0-9]+/", $string);
有人能向我解釋這是怎麼與此不同:
$tokens = explode(' ', $string);
任何幫助將不勝感激:-)
您提供的正則表達式:
$tokens = preg_split("/[^\-_A-Za-z0-9]+/", $string);
將使用非破折號( - ),下劃線(_),字母(小寫或大寫)或數字的分隔符將輸入字符串拆分爲令牌。
鑑於:
$tokens = explode(' ', $string);
只會把串入使用空格作爲分隔符標記。
的[^\-_A-Za-z0-9]+
的字面理解是:
匹配一個或多個字符induvidual是不
-
或_
或一個字母A到Z(大寫與否)或數字。
preg_split
將根據上面的匹配拆分輸入,但explode
只會在空白字面上拆分。還有其他字符不會從正則表達式中排除,其中preg_split
將分裂,但explode
不會,因此得到的數組可能會不同。
\不是將在比賽中使用的字符之一。它在那裏是爲了逃避 - 角色。 –
@RyanBerger啊是的,當然。編輯。 –