/*
* 将括号中作为一个整体以便将其中内容
*获取到正则表达式中,可以使用()江某一段话括
*起来,在圆括号的后面,可以使用\\ 数字 来代表
*圆括号部分所匹配到的内容
$par = '/t(es)t/';
$str = ' test ';
$str1 = preg_match_all($par,$str,$arr);
$str2 = var_dump($str1);
var_dump($arr);
$par = '/t(e)(s)t\\1/';
/*1是第一个袁阔奥所匹配到的内容*/
$str = ' teste ';
$str1 = preg_match_all($par,$str,$arr);
$str2 = var_dump($str1);
var_dump($arr);
*/
/*
模式修正符:i 在和模式进行匹配是不区分大小写
*/
$par = '/test/i';
$str = ' TEST Test teSt teste ';
$str1 = preg_match_all($par,$str,$arr);
var_dump($str1);
var_dump($arr);
/*
模式修正符: s
如果设定了此修正符,将匹配所有的字符包括换行符(\n)
*/
$par = '/t.*st/s';
$str = "t\n st";
$str1 = preg_match_all($par,$str,$arr);
var_dump($str1);
var_dump($arr);
/*
模式修正符:U
禁止贪婪匹配
/t.*?st/ == /t.*st/U
*/
$par = '/t.*st/U';
$str = "tsfsafdfsda st tsdgfdsgfsgfdgsst";
$str1 = preg_match_all($par,$str,$arr);
var_dump($str1);
var_dump($arr);
/*
模式修正符:m
如果目标字符串中没有“\n”字符,或者模式中没有出现^或$ 设置这个修饰符不产生任何影响
使用条件:(1)目标字符串中必须包含“\n”
(2) 在字符串中刚出现“\n”就表示新的一行开始
(3)正则表达式中必须要出现^或$
*/
$par = '/^test/m';
$str = "test\nTEst\nTEST\ntest\ntest\nEtstest";
$str1 = preg_match_all($par,$str,$arr);
var_dump($str1);
var_dump($arr);
$str = "test\nTEst\nTEST\ntest\ntest\nEts\ntest";
$str2 = preg_match_all($par,$str,$arr);
var_dump($str2);
var_dump($arr);
$str = "test
TEst
TEST
test
test
Ets
test";
$str3 = preg_match_all($par,$str,$arr);
var_dump($str3);
var_dump($arr);
//在Windows系统中,换行是通过(\n\r)共同来完成的
//在Linux操作系统中,换行是通过(\n)来完成的
// \r 是回车符 \n是换行符
$str = "test\nTEst\nTEST\ntest\ntest\nEts\ntest";
$str2 = preg_match_all($par,$str,$arr);
var_dump($str2);
var_dump($arr);