php 正则表达式

来源:互联网 发布:windows文件夹加密码 编辑:程序博客网 时间:2024/06/03 16:55

正则表达式的作用:分割、查找、匹配、替换字符串

分隔符:正斜线(/)、hash符号(#)以及取反符号(~)

通用原子:

\d:十进制0到9;
\D:取反;
\w:数字、字母、下划线;
\W:取反;
\s:空白符;
\S:除了空白符;

元字符:

.:除了换行符之外的任意字符;
*:匹配前面的内容出现0次、1次、多次;
?:匹配前面的内容出现0次、1次;
^:必须以它开头;
$:必须以它结尾;
+:一次或多次
{n}:n次;
{n,}:
{n,m}:
[]:
():

模式修正符:

i:不区分大小写;
m:
e:
s:
U:取消贪婪模式;
x:忽略空白符;
A:
D:
u:

后向引用

$str = ‘abc‘;
$pattern = ‘/(.*)<\/b>/’;
preg_replace(pattern,1,str);

贪婪模式

$str = ‘abcbcd‘;
$pattern = ‘/.*?/’;问号是取消贪婪模式

正则函数preg函数:

preg_match():
preg_match_all():
preg_replace():
preg_split():

方法:

先写出一个要匹配的字符串
自左向右的顺序使用正则表达式的原子和元字符进行拼接
最终加入修正模式符

<?php//demo1$str = '中文';$pattern = '/[\x{4e00}-\x{9fa5}]+/u';preg_match($pattern,$str,$match);var_dump($match);//demo2//以139为开头的11位手机号码$str = '13982929292';$pattern = '/^139\d{8}$/';preg_match($pattern,$str,$match);var_dump($match);//demo3//请匹配所有img标签中的src的值$str = '<img alt="焦家村" id="sanhuan" src="langbei.jpg" />';$pattern = '/<img.*?src="(.*?)".*?\/?>/i';preg_match($pattern,$str,$match);var_dump($match);?>
原创粉丝点击