php正则表达式 语法,PHP正则表达式函数解析与正则表达式基本语法

一、PHP正则表达式函数解析

bVThUH?w=638&h=95

bVThVw?w=757&h=277

bVThVP?w=692&h=171

bVThXL?w=794&h=310

bVThZx?w=778&h=362

bVThYX?w=715&h=199

bVThY1?w=589&h=264

bVThY4?w=207&h=293

bVThZd?w=785&h=240

bVThZP?w=604&h=134

bVThZ5?w=762&h=269

bVTh1v?w=625&h=162

bVTh1m?w=697&h=260

bVTh1N?w=591&h=176

bVTh2i?w=738&h=301

preg_match();preg_match_all();表单验证等

//email地址的合法性-preg_match(),匹配结果可以看作是bool值

preg_replace();非法词的过滤

//f**k

二、正则表达式基本语法

bVTh23?w=692&h=269

bVTh3G?w=778&h=388

bVTh4E?w=502&h=247

bVTiao?w=696&h=409

bVTiaq?w=731&h=417

中午匹配最好转成unicode:Unicode转换工具

bVTicp?w=683&h=239

注意:[^是必须在一起的,否则如下:^也被当成一个原子去匹配。

分枝是指制定几个规则,如果满足任意一种规则,则都当作匹配成功。具体来说就是用 | 符号把各种规则分开,且条件从左至右匹配。

提示

由于分枝规定,只要匹配成功,就不再对后面的条件加以匹配,所以如果你想匹配有包含关系的内容,请注意规则的顺序。 下面是一个使用分枝的例子。

美国的邮政编码的规则是 5 个数字或者 5 个数字连上 4 个数字,如 12345 或者 54321-1234 ,如果要匹配所有的邮编,则正确的正则表达式为:

\d{5}-\d{4}|\d{5}

//错误写法

\d{5}|\d{5}-\d{4}

下面的错误写法,只能匹配到 5 位数字及 9 位数字的前 5 位数字的情况,而不能匹配 9 位数字的邮编。

bVTicX?w=590&h=248

bVTidP?w=748&h=289

.等价于[^\n]

bVTieJ?w=704&h=327

{n} 表示匹配其前面的原子恰好笔记出现n次的 如:5{3} 相当于 555 {n,}

表示匹配其前面的原子最少出现n次的如:[a-zA-Z]{5,}至少连续出现5次的字母如wertt;

{n,m}表示其前面的原子最少出现5次,最多出现m次 如:w{5,9}

* 匹配0次, 1次或者多次其之前的原子 即{0,} 如w*

+ 匹配1次或多次其之前的原子 {1,} d+

?匹配0次或1次其之前的原子 {0,1} _?u

bVTigx?w=664&h=256

bVTigR?w=499&h=179

第三、修正模式

bVTihW?w=761&h=314

bVTijs?w=666&h=172

取多种可能结果中最短的那个,默认是贪婪模式,既多种可能性中最长的那个

bVTijv?w=388&h=152

bVTij2?w=744&h=305

bVTikt?w=843&h=228

x:忽略空格和tab制表符空白格

四、实战-常见正则表达式

bVTimd?w=455&h=73

非空匹配:.+

浮点数:\d+\.\d{2}$

手机号:^1(3|5)d{9}$

邮箱:^\w+(\.\w+)*@\w+(\.\w+)+$

URl:^(https?:\/\/)?(\w+\.)+[a-zA-Z]+$

仅匹配3~15个汉字和大小写字母:^([\x{4e00}-\x{9fa5}]|[a-zA-Z]){3,15}$/u

(/u表示按unicode(utf-8)匹配(主要针对多字节比如汉字),/U才是懒惰匹配哦)

正则表达式的/要转义,不转义是匹配不到的

模式单元(3|5|7|8)等同于[3578]

注意:(3|5) 等同于[35]而不是[3|5]哦!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值