php 正则表达式三.模式修正

1.贪婪模式和懒惰模式,

  贪婪模式:php中正则默认是贪婪模式,匹配尽可能多 的字符,比如 $pattern='/a+b/'; $subject='aaaaaaaaab,那么可能会preg_match($pattern,$subject,$matchs);就会输出 aaaaaaaaab

  懒惰模式:要在$pattern的后面加上 U  匹配尽可能少的字符,比如 $pattern='/a+b/U'; $subject='aaaaaaaaab,那么可能会preg_match($pattern,$subject,$matchs);就会输出ab

//贪婪匹配和懒惰匹配

//默认的是贪婪模式
//懒惰模式在后面加  U
$pattern = '/love.+123/U';
$subject = 'i love php 123 great language 123';

$res = array();
preg_match($pattern,$subject,$res);

print_r($res);

2.忽略大小写,在$pattern后面  加上 i

/**
 *i:忽略大小写
 */
$pattern = '/LoVe.+123/Ui';
$subject = 'i love php 123 great language 123';

$res = array();
preg_match($pattern,$subject,$res);

print_r($res);

3:忽略空白字符 x

/**
 * x:忽略空白符
 */
$pattern = '/l   o  ve  .+1 2   3/Uix';
$subject = 'i love php 123 great language 123';

$res = array();
preg_match($pattern,$subject,$res);

print_r($res);

4:让元字符 s

/**
 * s:让元字符'.'匹配包括换行符在内的所有字符
 */
$pattern = '/love.+123/s';
$subject = "i lo<br />ve php 123 great language 123";

$res = array();
preg_match($pattern,$subject,$res);

print_r($res);
原文地址:https://www.cnblogs.com/tumio/p/4850499.html