0x01 元字符:
[a-z]、[A-Z]:a-z区间中任意一个匹配,后者为大写
<?php
echo preg_match('/[a-z]/','a1');//1
echo preg_match('[a-z]','afytjghuhuijoi');//1
echo preg_match('[a-z]','a');//1
[0-9]:道理同上
<?php
echo preg_match('/[0-9]/','a1');//1
这些元字符可以自己定义,写成[0-8]、[a-x]、[123]、[abcd] 都可。
也可以并到一起写成[a-zA-Z0-9]
<?php
echo preg_match('/[a-zA-Z0-9]/','aHHCtrgerGF17525');//1
描述 | 语法 |
[a-z] | 匹配任何包含小写字母a-z的字符串 |
[A-Z] | 匹配任何包含大写字母A-Z的字符串 |
[0-9] | 匹配任何包含数字0-9 的字符串 |
[abc] | 匹配任何包含小写字母a、b、c的字符串 |
[^abc] | 匹配任何不包含小写字母a、b、c的字符串 |
[a-zA-Z0-9] | 匹配任何包含a-zA-Z0-9 和下划线的字符串 |
\w | 匹配任何包含a-zA-Z0-9 和下划线的字符串(同上) |
\W | 匹配任何没有下划线和字母数字的字符串 |
\d | 匹配任何数字字符,和[0-9]相同 |
\D | 匹配任何非数字字符,和[^0-9]相同 |
\s | 匹配任何空白字符 |
\S | 匹配任何非空白字符 |
\b | 匹配是否到达了单词边界 |
\B | 匹配是否没有达到单词边界 |
\ | 匹配正则中的特殊字符 |
<?php
echo preg_match('/fuck\b/','fucku')."<br>";//0
echo preg_match('/fuck\b/','fuck')."<br>";//1
echo preg_match('/fuck\b/','fuck you')."<br>";//1
0x02 修饰符
语法 | 描述 |
i | 完成不区分大小写的搜索 |
m | 在匹配首内容或者尾内容时候采用多行识别匹配 |
x | 忽略正则中的空白 |
A | 强制从头开始匹配 |
U | 禁止贪婪匹配,只跟踪到最近的一个匹配符并结束 |
//资料来自李炎恢视频