PHP组成部分,php preg正则表达式的组成部分

定界符号 :

多种都可以,常用为//

原子 :

最小的一个匹配单位 (放在定界符中),在一个正则表达式中,至少要有一个原子

1,打印字符(a-z A-Z 0-9 ~!@#$%^&*()_+...)和非打印字符

2, 代表一类字符

\d :任意一个数字 [0-9]

\D :任意一个非数字[^0-9]

\w :任意一个字 a-z A-Z 0-9 _ [a-zA-Z0-9_]

\W :任意一个非字[^a-zA-Z0-9_]

\s :代表任意一个空白[\t\n\f\v]

\S :代表任意一个非空白[^\t\n\f\v]

3,自定义原子表

[fws3] :fws3任意一个字符

[^1-9a-z] :非1-9 a-z的任意一个字符

[2-9x]:2-9或者x的任意一个字符

4,点(.) 能代表所有任意一个字符

元字符:

不是单独使用的,是用来扩展和限定原子的 (写在定界符号中)

* 用来修饰其前面的原子可以出现0个或多个(任意次) {0,}

+ 用来修饰其前面的原子出现1次或多次{1,}

? 用来修饰前面的原子出现0次或1次{0,1}

{n} 用来修饰其前面的原子出现n次

{n,m} 用来修饰其前面的原子出现n到m次,包括n和m

{n,} 用来修饰其前面的原子至少出现n次,包括n

| 是或的关系 ,表示它两边的原子,只要一个出现就可以了,但是 | 优先级是最低的

^ 或 \A 表示必须以什么开始,这个必须写在正则表达式的最前面

$ 或 \Z 表示必须以什么结束,这个必须写在正则表达式的最后面

\b 单词边界

\B 不是单词边界的部分

模式修正符 (单个字符)

1,模式修正符写在定界符号 ,放在右边 "/go*gle/i"

2,模式修正符号,一个字符就是一个功能,可以组合使用

作用:

修正正则表达式的解释,或扩充正则表达式的功能

i : 不区分大小写

s : 原子. 可以匹配换行符(\r)

x : 去除正则表达式里的空白

U :让 原子. 变得不贪婪 (在. 后面加? 也可以取消贪婪模式,即.*? 或.+?)

其他符号

() (括号)

1,改变优先级

2, 将小原子变成大原子

3,子模式,整个表达式是一个大的模式,小括号中是每个独立的子模式

4,反向引用

$text = "2014-03-22";

$reg = ‘/\d{4}(-|\/)\d{2}\1\d{2}/‘;

\1引用前面括号里的模式,即第一个模式 (?:xxx)使括号失去3,4功能

\ (转义字符)

1,可以将有意义的字符转成没有意义的原子字符 \^ \. \+ \‘ \" \?

2, 可以将没有意义的字符转成有意义的原子\t \cx \f \n \r \v

3, 加上 \也没意义的字符,加不加\都没区别 \_ \q

实例

匹配网址

$reg = "/(https?|ftps?)\:\/\/(www|mail|bbs)\.(.+?)\.(com|cn|net)([\w\-\/\.\=\?\&\%]*)?/i";

匹配邮箱

$reg = "/\w+([+-.]\w+)*@\w+([-.]\w+)*/";

原文:https://www.cnblogs.com/cl94/p/9379027.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值