php之正则表达式函数总结
- ##匹配
用于匹配常用的函数有两个,分别是
preg_match和preg_match_all
看代码:
$pattern = '/[0-9]/';
$subject = 'abc1def2ghi3klm4';
$return = preg_match($pattern, $subject, $matches);
echo $return;
print_r($matches);
$pattern = '/[0-9]/';
$subject = 'abc1def2ghi3klm4';
$return = preg_match_all($pattern, $subject, $matches);
echo $return;
print_r($matches);
- ##替换
用于替换常用的函数也有两个
preg_replace和preg_filter,这两个灰常的相似!!!
看代码:
$pattern = '/[0-9]/';
$replacement = '嘿嘿嘿';
$subject = 'a1b2c3';
$return = preg_replace($pattern, $replacement, $subject);
echo $return;
$pattern = '/[0-9]/';
$replacement = '嘿嘿嘿';
$subject = 'a1b2c3';
$return = preg_filter($pattern, $replacement, $subject);
echo $return;
$pattern = array('/[0-3]/', '/[4-6]/', '/[7-9]/');
$replacement = array('小', '中', '大');
$subject = array('a', 'b', '1as', 'd', 's5d', '7qq');
$return = preg_replace($pattern, $replacement, $subject);
print_r($return);
Array
(
[0] => a
[1] => b
[2] => 小as
[3] => d
[4] => s中d
[5] => 大qq
)
$pattern = array('/[0-3]/', '/[4-6]/', '/[7-9]/');
$replacement = array('小', '中', '大');
$subject = array('a', 'b', '1as', 'd', 's5d', '7qq');
$return = preg_filter($pattern, $replacement, $subject);
print_r($return);
Array
(
[2] => 小as
[4] => s中d
[5] => 大qq
)
- ##** 数组匹配 + 分割**
分别是
preg_grep和preg_split
看代码:
$subject = ['r', 'a2', 'b3', 'c', 'd'];
$pattern = '/[0-9]/';
$fl_array = preg_grep($pattern, $subject);
print_r($fl_array);
Array
(
[1] => a2
[2] => b3
)
$subject = 'a132b456c777d';
$pattern = '/[0-9]+/'; 匹配至少一个数字
$return = preg_split($pattern, $subject);
print_r($return);
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
)