学习记录-正则表达式
注明:记录工作和学习中常用的正则表达式以及php中常用得两个函数preg_match_all()、preg_replace()
特殊字符类 | 含义 |
---|---|
. | 所有字符 |
/d | 所有数字 |
/D | 所有非数字 |
/w | 数字字母下划线 |
/W | 非数字字母下划线 |
/s | 表格换行等空白区域 |
/S | 非空白区域 |
[1] | 匹配字符1 |
[1-3] | 匹配字符123 |
[^1-3] | 匹配非字符123 |
特殊符号类 | 含义 |
---|---|
\ | 转移字符 |
() | 整体匹配 |
| | 或 |
^ | 匹配行首位置 |
$ | 匹配行末位置 |
+ | 数量限制匹配一次或多次 |
* | 数量限制匹配0次或多次,通配符 |
? | 数量限制匹配0次或一次,非贪婪模式 |
{n} | 匹配前面字符连续出现n次 |
{n,} | 匹配前面字符至少连续出现n次 |
{,n} | 匹配前面字符最多连续出现n次 |
{n,m} | 匹配前面字符连续出现n到m次范围内 |
函数preg_match_all()
在PHP中,preg_match_all (‘正则表达式’,‘需要匹配的数据’,‘默认值可不填,多维数组’),返回值为匹配次数,int值
$a=preg_match_all('/\d/','123123');
var_dump($a);
#返回值:int(6)
函数preg_replace()
在php中,preg_replace(‘正则表达式’,‘替换字符’,‘被替换的对象’)
如果查找对象是一个数组, preg_replace() 返回一个数组, 其他情况下返回一个字符串
$a=preg_replace('/[2]/','1','12');
var_dump($a);
#返回值:string(2) "11"