常用PHP正则表达式
来源:互联网 发布:雀巢咖啡好处坏处知乎 编辑:程序博客网 时间:2024/05/22 02:18
正则表达式一直以来是我比较头痛的东西,不过工作中是离不开正则表达式的,代码、vim编辑器、awk等Linux命令都广泛应用正则表达式。这是我收集并且测试过的PHP代码中常用的正则表达式,首先建立测试函数:
1
function
regTest(
$pattern
,
$str
) {
2
var_dump( preg_match(
$pattern
,
$str
) );
3
preg_match_all(
$pattern
,
$str
,
$matches
);
4
var_dump(
$matches
);
5
var_dump( preg_replace(
$pattern
,
$str
,
'Test'
) );
6
}
1. 匹配中文字符
1
$pattern
=
"/[\x{4e00}-\x{9fa5}]/u"
;
2
$str
=
"飞晏-feiyan"
;
3
regTest(
$pattern
,
$str
);
4
//依次输出结果
5
//int(1)
6
//array(1) { [0]=> array(2) { [0]=> string(3) "飞" [1]=> string(3) "晏" } }
7
//string(28) "TestTest-feiyan"
关于汉字的匹配,网上很多给的都是“[\u4e00-\u9fa5]”,这个正则不一定完全正确。
2. 匹配tab缩进、空格和换行
1
$pattern
=
"/[\n\s*\r]/"
;
2
//依次包含一个或多个空格、换行和tab
3
$str
=
"Hello \n, PHP"
;
4
regTest(
$pattern
,
$str
);
5
//依次输出结果
6
//int(1)
7
//array(1) { [0]=> array(3) { [0]=> string(1) " " [1]=> string(1) " " [2]=> string(1) " " } }
8
//string(21) "HelloTestTest,TestPHP"
3. 匹配Email地址
01
$pattern
=
"[\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*]"
;
02
$str
=
'如有问题,请联系service@lenovo.com或者contact@ibm.com。'
;
03
regTest(
$pattern
,
$str
);
04
//依次输出结果
05
//int(1)
06
//array(4) { [0]=> array(2) { [0]=> string(18) "service@lenovo.com" [1]=> string(15) "contact@ibm.com" } [1]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [2]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } [3]=> array(2) { [0]=> string(0) "" [1]=> string(0) "" } }
07
//string(41) "如有问题,请联系Test或者Test。"
08
09
//使用Filter函数
10
filter_var(
$email
, FILTER_VALIDATE_EMAIL);
我一般不自己写正则表达式去验证邮箱,使用PHP内置filter函数可以很方便的完成邮箱地址的验证。
4. 匹配国内手机号码和电话号码
1
//固定电话匹配
2
$pattern
=
"[\d{3,4}-\d{7,8}]"
;
3
$str
=
'联系电话010-12345678'
;
4
regTest(
$pattern
,
$str
);
5
6
//最简单的匹配手机号匹配
7
$pattern
=
"[1\d{10}]"
;
8
$str
=
'联系电话15812345678'
;
9
regTest(
$pattern
,
$str
);
5. 匹配HTML中的图片地址
1
$pattern
=
'/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/'
;
2
$str
=
'<img id="test_img" src="images/123.gif" alt="test" />'
;
3
regTest(
$pattern
,
$str
);
- PHP常用正则表达式
- PHP常用正则表达式
- php常用正则表达式
- php常用正则表达式
- PHP常用正则表达式
- php 常用正则表达式
- PHP常用正则表达式
- php常用正则表达式
- PHP常用正则表达式
- 常用PHP正则表达式
- php常用正则表达式
- PHP常用正则表达式
- 常用PHP正则表达式
- php常用正则表达式
- php 常用正则表达式
- php常用正则表达式
- 常用php正则表达式
- php常用正则表达式
- 工作累了,博大家一乐
- V4L2驱动程序架构
- WindowProc的使用
- java泛型和反射的问题
- 终结:容量为a、b的两个杯子倒出容量c的水
- 常用PHP正则表达式
- linux设备驱动之——V4L2
- oracle数据库是归档模式
- 汉诺塔(hanoi)
- I2C设备驱动的编写(一) .
- php过滤html 正则表达式
- I2C设备驱动的编写(二)
- 考研or不考?
- 00025-----GPIO模拟IIC总线程序