读一读

QQ图片20170924173416.png

能用字符串函数explode分割的别用正则

它的性能不如字符串函数分割快


QQ图片20170924173154.png

$pattern 为匹配的正则表达式

$input 要匹配的字符串数组


直接看例子吧

QQ图片20170924172647.png


preg_replace(匹配的正则表达式,替换的字符串,要匹配的字符串)

返回替换了的字符串


使用该方法匹配文本是否出现相匹配正则的字符串

preg_match_all(正则表达式,匹配字符串,匹配返回的数组);

匹配所有符合条件字符串到数组中

返回成功匹配的次数


使用方法 放到定界符的后面 /....../i

i 表示忽略大小写

m 表示多行模式,转换换行符

s 可以匹配到换行符

x 表示忽略模式的空白符

U 取消贪婪模式

D 不忽略字符串中的换行符


QQ图片20170924162705.png


* 表示匹配前面原子0次,1次或多次 等于{0,}

+ 表示匹配前面原子1次或多次 等于{1,}

? 表示匹配前面的原子0次或1次

. 表示除了换行符的其他符号

| 表示匹配前面的或后面的

{n} 表示匹配前面的字符出现n次

{n,} 表示匹配前面的字符出现大于等于n次

{n,m} 匹配前面的字符出现的次数大于等于n,小于等于m

^或\A  表示以什么开头

$或\Z  表示以什么结束

\b 表示匹配边界(单词)

[..] 表示匹配里面的任意一个原子

[^...] 表示除了里面原子的原子

()  子模式,里面也是一个整体,用于反向引用


/.........../

#...........#


匹配模式最基础的组成部分,每个模式至少包含一个原子。

普通原子包括可见原子和不可见原子

就是(字母,数字,下划线)(\n \r \t \v \f)


特殊字符就是.*+-等


通用字符类

\d就是[0-9],匹配数组

\D,除了数字以外

\w就是匹配普通可见原子

\W匹配除可见原子

\s 空白符

\S非空白符

自定义原子表 [aeiou] 匹配a/e/i/o/u