2020年4月2日
php1
<?php
$preg= "/\d/";
$str= "6231585";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg= "/a/i";
$str="abcdABCD";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg="/^\w+/m";
$str="
AAAAAA
BBBBBB
CCCCC
";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg="/.+/s";
$str="abc
de
fg";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
$preg = "/^[^e]+$/";
$str = "adasdada55s2daf56df";
if(preg_match($preg ,$str ,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
php2
<?php
$preg= "/\d/";
$str= "6231585";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg= "/a/i";
$str="abcdABCD";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg="/^\w+/m";
$str="
AAAAAA
BBBBBB
CCCCC
";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg="/.+/s";
$str="abc
de
fg";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
$preg = "/^[^e]+$/";
$str = "adasdada55s2daf56df";
if(preg_match($preg ,$str ,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
php3
<?php
$preg= "/\d/";
$str= "6231585";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg= "/a/i";
$str="abcdABCD";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg="/^\w+/m";
$str="
AAAAAA
BBBBBB
CCCCC
";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
echo"<hr>";
$preg="/.+/s";
$str="abc
de
fg";
if(preg_match($preg,$str,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
$preg = "/^[^e]+$/";
$str = "adasdada55s2daf56df";
if(preg_match($preg ,$str ,$arr)){
echo"匹配成功";
var_dump($arr);
}else{
echo"匹配失败";
}
笔记:
元字符:
用来编写字符串规则的特殊(意义)字符
元字符是配合原子使用,原子的运算符
*匹配0次 1次或多次前面的一个原子
+匹配1次或多次前面的一个原子
?匹配0次或1次前面的一个原子
| 匹配两个或多个分支选择(或者)
{n}表示其前面的原子刚好出现n次
{n,}表示其前面的原子出现不小于n次
{n,m}表示其前面的原子至少出现n次,最多出现m次
^匹配输入字符串的开始位置
$匹配输入字符串的结束位置
\b匹配单词便边界
\B匹配除了单词边界以外部分
(abcd)匹配其整体作为一个原子,将多个原子视为一个原子
模式修正符:
扩充正则表达式的功能
模式修正符写在定界符之外,并且在最右侧
i 修正正则表达式不区分大小写 (默认则区分)
m 修正符号(^ $)默认认为所有的文本都是在一行,把换的多行早正则中识别为多行而不是单行
s 修正正则表达式中的.可以匹配换行符号;(默认情况下不允许匹配换行符)
+ 表示匹配其前面的原子1次或多次
. 表示匹配任意的内容,但不包含换行符
bool preg_match(正则,字符串,$变量) 运行正则匹配,只会匹配一个内容
()中匹配的内容可以单独的生成结果
$preg =”/^12(\d)12$/“;
$str=”12512”;
子组()可以引用前面已存在的;使用\1双斜线加数字可以引用前面已写好的圆括号
1表示括号的顺序,从前往后数从1开始
字符簇 cu
【】用来定义一个原子的范围,整个中括号认为一个原子
\d 0-9
\w 0-9 a-z A-Z