为了账号安全,请及时绑定邮箱和手机立即绑定
  • 1.preg_match($pattern,$subject,$matches)只将第一个匹配到的结果赋值给$matches,$matches为一维数组。preg_match返回值为匹配到的次数,0或1. 2.preg_match_all($pattern,$subject,$matches)将所有匹配到的结果赋值给$matches,$matches为二维数组。 preg_match_all返回值为匹配到的次数。
    查看全部
  • 看了第一节 尼玛的就有冲动把剩下的全部看完
    查看全部
  • 正则表达式中出现汉字时,最好将汉字转化为Unicode编码(可以使用转化工具) patten中若有中文汉字,建议换成unicode编码,来防止由于编码格式的不同而导致的匹配失败的情况。 当你要匹配的标点符号正好是正则表达式运算符的时候,在符号前面加\,比如$运算符 ,用 \转义 最特殊的符号是\,既是正则运算符又是转义符,如果想在目标字符串中匹配这个\,就要敲2个\\。
    查看全部
  • class template { //定义一个私有成员用来存储模板引擎源文件的所在目录 private $templateDir; //这个私有成员用来存储编译之后文件的存放目录 private $compileDir; //在模板文件中需要替换掉的那些变量,它们需要一个标记,让模板引擎去识别需要替换的是哪一部分 //在Smarty模板引擎中默认是一个{ 这里不跟Smarty一样 private $leftTag = '{#'; private $rightTag = '#}'; //这个私有成员用来存储当前正在编译的模板文件名 private $currentTemp = ''; //这个私有成员用来存放当前正在编译的模板文件中的html代码。 //也就是从源文件中读取一段html代码存放在$outputHtml中,然后通过一系列的正则替换,最后再将这段html代码写入到一个目标文件中,这个文件就是编译之后的模板文件。 private $outputHtml; //这个是一个变量池,在编译模板源文件之前,会把模板中需要用到的变量,把它们的值通通存到这个变量池中。 //当模板文件被编译之后,就可以从这个变量池中根据标记获取到它们需要的值。 private $varPool = array(); }
    查看全部
  • 界定符 :表示一个正则表达式的开始和结束;EG:/[0-9]/; 正则表达式的本质也是一个字符串,只不过这个字符串的前后都有一个斜杠。 界定符虽然也算正则表达式语法中的一份子,但在理解的时候可以认为界定符不是正则表达式的组成部分,它只是告诉PHP的解析器,正则表达式从哪里开始到哪里结束。在PHP语言中,界定符是两个斜杠/[0-9]/,除此之外,还可以写成#[0-9]#,{[0-9]}(在PHP中,习惯不使用{},避免界定符和运算符两者相混淆)。 $pattern = '/[0-9]/' 或者 #[0-9]# {[0-9]}(不推荐使用大括号);
    查看全部
  • class template { //定义一个私有成员用来存储模板引擎源文件的所在目录 private $templateDir; //这个私有成员用来存储编译之后文件的存放目录 private $compileDir; //在模板文件中需要替换掉的那些变量,它们需要一个标记,让模板引擎去识别需要替换的是哪一部分 //在Smarty模板引擎中默认是一个{ 这里不跟Smarty一样 private $leftTag = '{#'; private $rightTag = '#}'; //这个私有成员用来存储当前正在编译的模板文件名 private $currentTemp = ''; //这个私有成员用来存放当前正在编译的模板文件中的html代码。 //也就是从源文件中读取一段html代码存放在$outputHtml中,然后通过一系列的正则替换,最后再将这段html代码写入到一个目标文件中,这个文件就是编译之后的模板文件。 private $outputHtml; //这个是一个变量池,在编译模板源文件之前,会把模板中需要用到的变量,把它们的值通通存到这个变量池中。 //当模板文件被编译之后,就可以从这个变量池中根据标记获取到它们需要的值。 private $varPool = array(); }
    查看全部
  • 实现注册邮箱的验证的三种方法: 1 把Email地址用Ajax异步提交到服务器上,让PHP来验证,再把验证的结果返回给浏览器. 2 那样做太麻烦,会耗费服务端的资源,直接把Email地址交给JS代码去验证处理 3 H5时代,直接在表单的input元素上加上一个数据验证的属性,规定必须输入Email就行了 结论:正则表达式在各个编程语言中都已经有良好的支持。
    查看全部
  • 工具栏开发--成员属性 class regexTool{ //定义一个私有成员,用来存放一些常用的正则表达式 private $validate = array{ 'require' => '/.+/', 'email' => '/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', 'url' => '/^http(s?):\/\/(?:[A-za-z0-9-]+\.)+[A-za-z]{2,4}(?:[\/\?#][\/=\?%\-&~`@[\]\':+!\.#\w]*)?$/', 'currency' => '/^\d+(\.\d+)?$/', 'number' => '/^\d+$/', 'zip' => '/^\d{6}$/', 'integer' => '/^[-\+]?\d+$/', 'double' => '/^[-\+]?\d+(\.\d+)?$/', 'english' => '/[A-Za-z]+$/', 'qq' => '/^\d{5,11}$/', 'mobile' => '/^1(3|4|5|6|7|8)\d{9}$/', }; //再定义一个私有成员,作用是定义它返回的结果,到底是让它返回是否匹配,还是把匹配到的结果全部返回到用户端。 //也就是说当这个变量$returnMatchResult,这个成员属性为false的时候,只返回验证的结果是真还是假。如果值为true,返回去的是匹配到的结果的数组。 private $returnMatchResult = false; //再定义一个成员变量用来存放修正模式,默认为空 private $fixMode = null; //再定义2个成员变量,第1个是匹配的结果数组,第2个为验证的结果,验证成功返回true,验证失败返回false。 private $matches = array(); private $isMatch = false;
    查看全部
  • preg_match()与preg_match_all()这两个函数在PHP的正则表达式编程中使用最频繁的。 第三个参数:preg_match()可选;preg_match_all()必填。第三个参数有个“&”符号:表示引用传递。也就是说在函数内部操作的matches数组其实是直接操作在函数外部定义的数组。这个作用域和非引用传递的参数是有区别的。 preg_match在匹配$subject只会匹配一次,而preg_match_all会把$subject这个字符串中所有符合$pattern的结果都匹配出来。并且,这两个函数都会把匹配结果放到array&$matchs这个数组中。这两个函数都有一个整型的返回值(表示匹配到结果的次数[返回0:表示没有匹配到任何数据])。从这个返回值中可以得知,函数的第三个参数$matchs数组中它的键值对的个数到底有多少个。如果$matchs数组为空,表示没有匹配到任何结果,返回值为0;由于preg_match()最多只会匹配一次,它的返回值只有可能是0或1;preg_match()的返回值可能是0,1,2,3...或者更多,当然,这取决于要匹配的目标数据。
    查看全部
  • 你会怎么实现注册邮箱的验证? 同学A->把Email地址用Ajax异步提交到服务器上,让PHP来验证,再把验证的结果返回给浏览器. 同学B->那样做太麻烦,会耗费服务端的资源,直接把Email地址交给JS代码去验证处理 同学C->H5时代,直接在表单的input元素上加上一个数据验证的属性,规定必须输入Email就行了 结论:正则表达式在各个编程语言中都已经有良好的支持。
    查看全部
  • 站长工具箱:Unicode转换工具 regexpal:正则表达式实时调试工具
    查看全部
  • *:表示匹配0次、1次或者多次其之前的原子,即{0,} +:表示匹配1次或者多次其之前的原子,即{1,} ?:匹配0次,或者1次其之前的原子,即{0,1}
    查看全部
  • {m}:表示其前面的原子恰好出现了n次 {n,}:表示其前面的原子最少出现了n次 {n,m}:表示其前面的原子最少出现n次,最多出现了m次 *:表示匹配0次、1次或者多次其之前的原子,即{0,} +:表示匹配1次或者多次其之前的原子,即{1,} ?:匹配0次,或者1次其之前的原子,即{0,1}
    查看全部
  • 1,下面几个元字符is important!! [] -> 匹配出现在[]中的任意一个原子 | -> 或运算,匹配|符号左右两边的任意一个 [^ ] ->首先这里^必须和[紧挨着,才表示匹配除了[]里面任意原子的字符 [ ^ ]->如果不挨着,就只表示匹配^这种字符了
    查看全部
  • 匹配邮箱 ^\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的域名结尾的往事
    查看全部
首页上一页1234567下一页尾页

举报

0/150
提交
取消
课程须知
学习本课程之前需要掌握基本的PHP语法,基本的OOP思想,基本的MVC模式知识。
老师告诉你能学到什么?
在本课程中可以充分理解正则表达式的定义并掌握如何在实际开发中应用正则表达式。其中包含表单验证实际应用以及简易版模板引擎的实现。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

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