PHP正则表达式

1、正则表达式的作用

匹配,分割,查找,替换字符串

2、正则表达式分隔符:

正斜线(/),hash符号(#),取反符号(~ )

3、通用原子:

\d(十进制0-9)
\D(\d的取反)
\w(数字,字母,下划线)
\W(\w取反)
\s(空白符)
\S(\s取反)

4、元字符

. (除了换行符以外的任意字符)

* (匹配前面的内容和,出现0次1次或者多次)
? (出现0次或者1次)
^(以它开头)
$(以它结尾)
+(出现一次或者多次)
{n}恰巧出现n次
{n,}出现大于等于n次
{n,m} n<=次数<=m
[](一个集合如[abc]就是匹配a或b或c)
()(互相引用,或者代表一个整体)
[^](取反如[^abc]除了a,b,c)
|(或者)
[-](范围[0-9]代表匹配0-9)

5、修正模式

i 不区分大小写
m 将字符串的每一行分别进行匹配
e 对匹配的结果做PHP语法处理
s 将字符串视为单行,换行符作为普通字符.
U 取消贪婪模式
x 将模式中的空白忽略.
A 强制仅从目标字符串的开头开始匹配.
D 模式中的美元元字符仅匹配目标字符串的结尾.
u utf-8中文匹配

6、后向引用

示例:匹配中的内容


PHP正则表达式_第1张图片
屏幕快照 2017-10-24 下午9.49.04.png

7、贪婪模式

示例:使用.*?取消贪婪模式

PHP正则表达式_第2张图片
屏幕快照 2017-10-24 下午9.53.24.png

8、正则表达式常用函数

PHP正则表达式_第3张图片
屏幕快照 2017-10-24 下午9.54.06.png

示例1:匹配以139开头的11位手机号

运行结果:

chenzhitaodeMacBook-Pro:php chenzhitao$ php demo5.php
array(1) {
  [0]=>
  string(11) "13988888888"
}

示例2:匹配img标签中的所有src属性

';
$pattern = '/

运行结果:

chenzhitaodeMacBook-Pro:php chenzhitao$ php  demo6.php
array(2) {
  [0]=>
  string(68) "撒旦阿萨德
  string(6) "my.jpg"
}

你可能感兴趣的:(PHP正则表达式)