为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
鬼斧神工之正则表达式_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

鬼斧神工之正则表达式

壞大叔bbUncle PHP开发工程师
难度初级
时长 3小时12分
  • 工作原理:
    查看全部
    0 采集 收起 来源:模板引擎简介

    2016-08-18

  • //包含开发的工具类 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}$/ $ 符号含义是严格控制小数点后位数为两位
    查看全部
  • .+用来匹配非空的字符串,可以应用于表单的必填项验证,若为空的无法提交表单
    查看全部
  • 常见的修正模式
    查看全部
    0 采集 收起 来源:忽略大小写

    2016-08-18

  • //正则表达式模式修正(在正则表达式代码中如何体现?只需在正则表达式的第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
提交
取消
课程须知
学习本课程之前需要掌握基本的PHP语法,基本的OOP思想,基本的MVC模式知识。
老师告诉你能学到什么?
在本课程中可以充分理解正则表达式的定义并掌握如何在实际开发中应用正则表达式。其中包含表单验证实际应用以及简易版模板引擎的实现。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!