1. PHP正则表达式介绍
正则表达示我们其实之前经常看到,它主要用在以下一些地方:匹配邮箱、手机号码、验证码、替换敏感的关键词。例如:涉及政治和骂人的话
PHP的正则表达示定界符的规定如下:
定界符,不能用a-z A-Z 0-9\ 其他的都可以用。必须成对出现,有开始就有结束。
例子 | 说明 |
---|---|
/中间写正则/ | 正确 |
$ 中间写正则 $ | 正确 |
%中间写正则% | 正确 |
中间写正则 | 正确 |
@中间写正则@ | 正确 |
(中间写正则) | 错误 |
A中间写正则A | 错误 |
注:
\ 是转义字符,如果在以后正则表达示里面需要匹配 / ,如下:
/ / /
这个时候真要匹配/ 的时候,需要把定界符里面的/ 用转义字符转义一下,写成下面的例子:
/ \ / /
如果你觉得麻烦,遇到这种需要转义的字符的时候可以把两个正斜线(/ /)定界,改为其他的定界符(# #)。
2. 正规表达式格式
正规表达式格式:
int preg_match( string $ 正则,string $ 字符串 [,array &$ 结果] )
功能:根据 $ 正则 变量,匹配 $ 字符串 变量。如果存在则返回匹配的个数,把匹配到的结果放到 $ 结果变量里。如果没有匹配到结果返回0。
<?php
$kw = '/wq/';
$string = 'ssssswqaaaaaa';
if(preg_match($kw, $string, $matches)){
echo '匹配到了,结果为:'.PHP_EOL;
var_dump($matches);
}else{
echo '没有匹配到';
}
?>
输出结果为:
匹配到了,结果为:
array(1) {
[0]=>
string(2) "wq"
}
我们常用的正则函数有:
函数名 | 功能 |
---|---|
preg_grep | 返回匹配模式的数组条目 |
preg_match | 执行一个正则表达式匹配 |
preg_match_all | 执行一个全局正则表达式匹配 |
preg_replace | 执行一个正则表达式的搜索和替换 |
preg_split | 通过一个正则表达式分隔字符串 |
end