從本文開始我會陸續(xù)給大家介紹PHP正則表達式的使用,當然面向的對象還是新手朋友們啦~希望能夠通過一個個簡單的小例子,讓大家對正則表達式的使用越來越熟悉~
好的,咱們就從一個小問題開始~
給你一個字符串“$123,34.00A
”,要求你用正則表達式刪除除逗號和點以外的非數(shù)字字符,也就是說我們需要寫一個PHP代碼獲取“123,34.00
”,畢竟$
和A
就屬于除逗號和點以外的非數(shù)字字符。
非常簡單啦~
上代碼:
<?php $str1 = "$12,334.00A"; echo preg_replace("/[^0-9,.]/", "", $str1)."n";
沒看錯,這么簡短的兩行代碼就可以完成我們的要求:
運行結(jié)果:
搞定!
這里就是介紹一個重要的函數(shù)preg_replace
,該函數(shù)能執(zhí)行一個正則表達式的搜索和替換。
其語法是“mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
”,表示搜索 subject 中匹配 pattern 的部分, 以 replacement 進行替換。
其中幾個參數(shù)具體表示:
$pattern: 要搜索的模式,可以是字符串或一個字符串數(shù)組。
$replacement: 用于替換的字符串或字符串數(shù)組。
$subject: 要搜索替換的目標字符串或字符串數(shù)組。
$limit: 可選,對于每個模式用于每個 subject 字符串的最大可替換次數(shù)。 默認是-1(無限制)。
$count: 可選,為替換執(zhí)行的次數(shù)。
那么關(guān)于preg_replace("/[^0-9,.]/", "", $str1)
,這個表達式的意思就是,匹配除了0-9間的數(shù)字以及逗號和點號以外的字符,并將這些字符替換為空即刪除即可。
最后關(guān)于正則表達式,我在這里給大家推薦一個視頻教程《正則表達式極速入門》,包你快速入門。