-
工作原理:查看全部
-
//包含开发的工具类 require_once 'regexTool.class.php'; //通过一些代码来调试这个类,看是否有语法错误 $regex = new regexTool();//定义一个对象实例化这个regexTool $regex->setFixMode('U');//定义一个修正模式(懒惰) $r = $regex->isEmail('asdfgewr@qq.com');//测试是否是正确的Email地址 show($r); //这是一个数据输出调试用的函数 function show($var = null,$isdump = false){ $func = $isdump ? 'var_dump' : 'print_r'; if(empty($var)){ echo 'null'; }elseif(is_array($var)is_object($var)){ //array,object echo '<pre>'; print_r($var); echo '</pre>'; }else{ //string,int,float... echo $var; } }查看全部
-
URL匹配: 1、http是否出现,是http还是https。即^(https?://)?。 2、是否是二级域名? 即:(\w+\.)+。 3、顶级域名。即:[a-zA-Z]+。 故:正则表达式:^(https?://)?(\w+\.)+[a-zA-Z]+$查看全部
-
匹配邮箱 ^\w+(\.\w+)*@\w+(\.\w+)+$ ^\w表示必须以大小写字母或下划线开头 (\.\w+)*表示 .xxx在@前的邮箱名中可以出现0~无限次 0次的情形:kjrb@homeway.com.cn 2次的情形:musi.ca.l@public.net \w+表示@后面必须出现1~无穷次字母或下划线 第二个(\.\w+)+表示 域名的原理同第一个(\.\w+)+ 但是多了一个+表示至少有一次.xxx(至少是顶级域名结尾) 最后$也控制了必须以.xxx的域名结尾的往事查看全部
-
【手机号匹配】=>11位数字==>/1[34578]\d{10}/ 或者 模式单元方/1(34578)\d{10}/ ===>防止手机号错误 手机号匹配: 11位:\d{11} 第一位为1 : 1\d{10} 第二位为3/5/8/4/7 :1[34578]\d{9}或者模式单元法:1(34578)\d{9}查看全部
-
保留两位数浮点数的正则表达式 /\d+\.\d{2}$/ $ 符号含义是严格控制小数点后位数为两位查看全部
-
.+用来匹配非空的字符串,可以应用于表单的必填项验证,若为空的无法提交表单查看全部
-
常见的修正模式查看全部
-
//正则表达式模式修正(在正则表达式代码中如何体现?只需在正则表达式的第2个/后加上修正模式的标识。[懒惰模式的标识是U]) //$pattern = '/imooc.+123/';//首先寻找imooc单词并且后面跟上.(除了换行符之外的任意字符)并且匹配1次到无穷大次(有很多种情况)并且结尾以123作为结束。 $pattern = '/imooc.+123/U';//懒惰模式(匹配结果取多种可能性中最短的那个) //匹配结果有多种可能(imooc__123,imooc__11213123,...),这个时候正则表达式在目标字符串上产生了歧义。 //匹配的结果存在很多种可能性,到底取哪种作为输出结果呢?这时需要给正则表达式指定一个修正模式来告诉PHP我们想要哪种结果。默认采用的是贪婪模式(选择匹配结果最长的那个)。 $subject = 'I love imooc__123123123123123123'; $matches = array(); preg_match($pattern,$subject,$matches); show($matches);查看全部
-
模式单元(),把括号内的东西当做原子对待查看全部
-
边界控制和模式单元 ^ 匹配字符串开始的位置 as: ^string只能匹配一开始就为string的字符串,前面不能有其它的任何元素 $ 匹配字符串结束的位置 as: string$只能匹配其结束位置为string的字符串,后面不能有其它的任何元素 () 括号的整体作为一个原子查看全部
-
量词:查看全部
-
元字符: 原子的集合: 1、. 匹配除换行符之外的任意字符。等价于[^\n]。 2、\d 匹配任意一个十进制数字,即[0-9]。 3、\D 匹配任意一个非十进制数字,即[^0-9]。 4、\s 匹配一个不可见原子,即[\f\n\r\t\v]。 5、\S 匹配一个可见原子,即[^\f\n\r\t\v]。 6、\w 匹配任意一个数字,字母或下划线,即[0-9a-zA-Z_]。 7、\W 匹配任意一个非数字,字母或是下划线,即[^0-9a-zA-Z_]。查看全部
-
元字符查看全部
-
A、可见原子是指Unicode编码中用键盘输出后肉眼可见的字符。 包括:1、标点;2、英文字母数字;3、汉字,日文,阿拉伯文等其他语言文字;4、∑,∈,≌等数理化公式符号;5、其他可见字符。 B、不可见原子就是Unicode编码中用键盘输出后肉眼不可见的字符。 例如:1、换行符:\n;2、回车:\r;3、制表符:\t;4、空格;5、其他不可见的符号。 不可见原子比较经常用到的一般只有3个,空格(直接敲空格),Tab制表符(\t),回车(\n);因为回车本身不占空间,匹配之后也看不见,可以在\n后面加上匹配换行后的首个字符或Tab制表符等。。。查看全部
举报
0/150
提交
取消