<?php
/*
1.方括号 []
括号内为将来要匹配的字符。
2.连字符 -
连接字符串
[A-Za-z]表示匹配英文大小写从A到z的任意字符串。
3.点号字符 .
表示通配符,代表所有字符和数字
“.er”表示所有以er结尾的三个字符的字符串。如:ter per @er &er
4.限定符 +*?{}
“+”:前面的字符至少有一个。 例:“9+”表示目标字符串至少包含一个9
“*”:前面的字符不止一个或零个。 例:“y*”表示目标字符串包含0或不止一个y
“?”:前面的字符为一个或零。 例:“y?”表示目标字符串包含0或一个y
“{}”:前面的字符串有多少个。 例:“a{3,5}”表示目标字符串包含3个或5个a “a{3,}”表示目标字符串包含至少3个a
“.*”:表示匹配任意字符串。
5.行定位符 ^和$
确定匹配字符串所要出现的位置。
^ :目标字符串在开头出现。 例:^xiaoming是指xiaoming只能出现在目标字符串开头
$ :目标字符串在结尾出现。 例:8895$是指8895$只能出现在目标字符串结尾
同时使用^$ 例:“^[a-z]$”表示目标字符串只要包含从a到z的单个字符串
6.排除字符 [^]
表示一个逻辑“否”。
[^0-9]例:表示目标字符串包含从0到9以外的任意其他字符串
7.括号字符 ()
表示子串,所有对包含在子串内字符的操作,都是以子串为整体进行的。
把正则表达分成不同部分的操作符。
8.选择字符 |
表示“或”。 例:“com|cn|net”表示在目标字符串包含com或cn或net
9.转义字符 反斜线 \
如果单独使用,表示作为特殊字符的转义字符。
如果表示\本身,则在字符前添加转义字符“\”,即“\\”
10.认证 email 的正则表达
email 的正则表达:^[A-Za-z0-9_.]+@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+$
^[A-Za-z0-9_.]+ 表示至少有一个英文大小写字符、数字、下划线、点号或这些字符的组合,在开头
@ 表示“@”
[A-Za-z0-9_]+ 表示至少有一个英文大小写字符、数字、下划线或这些字符的组合。
\. 表示“.com”之类的“.”,由于表示“.”本身,用“\”转义
[A-Za-z0-9_.]+$ 表示表示至少有一个英文大小写字符、数字、点号或这些字符的组合,并且直到此字符串的末尾
*/
$email1 = "qijiyang2018@hotmail.com";
$email2 = "The email is qixiaoshuai_2018@hotmail.com";
$asmail = "The is qixiaoshuai_2018@hotmail";
if (preg_match('/^[A-Za-z0-9_.]+@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+$/',$email1)){
echo "This is an email."."<br/>";
}
if (preg_match('/^[A-Za-z0-9_.]+@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+$/',$email2)){
echo "This is a new email."."<br/>";
}else{
echo "This is not an email."."<br/>";
}
if (preg_match('/^[A-Za-z0-9_.]+@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+$/',$asmail)){
echo "This is an email."."<br/>";
}else{
echo "This is not an email."."<br/>";
}
/* 运行结果:
This is an email.
This is not an email.
This is not an email.
*/
PHP——正则表达式(概述)
最新推荐文章于 2022-12-13 21:30:00 发布