正则表达式
请写出正则表达式,写出img的src值
'/<img.*?src='(.*?)'.*? \/?>/i'
先写出一个要匹配的字符串
自左向右的顺序使用正则表达式的原子和元字符进行拼接
最终加入模式修正符
不可死记硬背模式
13988888888
'/^139\d{8}$/'
中文匹配
UTF-8汉字编码范围是 0x4e00-0x9ga5
ANSI(gb2312) 环境下 0xb0-0xf7 ,0xa1-0xfe
$str='谢凌';
//$pattern='/[\x{4e00}-\x{9fa5}]/u';
//$pattern='/[\x{4e00}-\x{9fa5}]+/u';
$pattern='/['.chr(0xb0).'-'.chr(0xf7).']['.chr(0xa1).'-'.chr(0xfe).']/ ';
preg_match($pattern,$str,$match);
var_dump($match);
UTF-8要使用 u环境修正符使模式字符串被当成UTF-8,
ANSI(gb2312) 环境下要使用chr将Ascii码转换为字符
pcre函数
preg_match()
preg_match_all()
preg_replace()
preg_split()
后向引用
preg_replace($pattern,'\\1',$str);
贪婪模式
.*贪婪模式
.*?取消贪婪模式
/U取消模式 不能和.*一块用
preg_replace_all($pattern,'\\1',$str);
正则表达式的作用 分割 查找 匹配 替换 字符串
分隔符 正斜线(/) hash符号(#) 以及取反符号(~)
通用原子
\d 十进制的0-9
\D 取反 除了0-9
\w 数字字母下划线
\W 取反 除了 数字字母下划线
\s 空白符
\S 取反 除了空白符
元字符
. 除了换行符的任意
* 内容出现0次1次或者多次
?内容出现0次或者1次
^必须以他开头 抑扬符
$必须以他结尾
+出现1次或者多次
{n}恰巧出现n次
{n,}大于n次
{n,m} n-m次
[]集合
()互相引用
[^]取反
| 或者
[-] 范围
模式修正符
i 不区分大小写
m 字符串进行分割 每一行
e
s 修正.的换行
U取消贪婪模式
x忽略模式的空白符
A必须以这个模式开头
D修正$对\n的忽略
u utf-8中文匹配
手机号码正则表达式编写
正则表达式 的组成部分和编写方法