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

鬼斧神工之正则表达式

壞大叔bbUncle PHP开发工程师
难度初级
时长 3小时12分
  • //定义一个构造函数(这样在实例化这个对象的时候,可以定义这个对象返回的是哪种类型并且给它定义一个修正模式。) public function __construct($returnMatchResult = false,$fixMode = null){ //把这2个参数赋值给这个类的私有成员 $this->returnMatchResult = $returnMatchResult; $this->fixMode = $fixMode;
    查看全部
  • 工具栏开发--成员属性 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(345678)\d{9}$/', }; //再定义一个私有成员,作用是定义它返回的结果,到底是让它返回是否匹配,还是把匹配到的结果全部返回到用户端。 //也就是说当这个变量$returnMatchResult,这个成员属性为false的时候,只返回验证的结果是真还是假。如果值为true,返回去的是匹配到的结果的数组。 private $returnMatchResult = false; //再定义一个成员变量用来存放修正模式,默认为空 private $fixMode = null; //再定义2个成员变量,第1个是匹配的结果数组,第2个为验证的结果,验证成功返回true,验证失败返回false。 private $matches = array(); private $isMatch = false;
    查看全部
  • 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}
    查看全部
  • 保留n位小数的数字: \d+\.\d{n}$ ($边界控制后面没有)
    查看全部
  • preg_replace($pattern,$replacement,$subject) preg_filter($pattern,$replacement,$subject) $pattern,$replacement,$subject参数中存放的都是字符串时preg_replace与preg_filter匹配的输出结果是一样的。$pattern与$replacement是数组$subjext是字符串时输出结果是一样的;当三个变量都是数组形式时,preg_filter会保留所有元素输出(不论发生替换否) preg_filter只会保留发生替换的元素输出
    查看全部
  • .+ 非空,匹配任意除换行符以外的字符,任意长度!
    查看全部
  • U 懒惰匹配 i 忽略大小写 x 忽略空白 s 让元字符‘.’匹配包含换行符在内的所有字符
    查看全部
    0 采集 收起 来源:忽略大小写

    2016-08-07

  • 修正模式: 贪婪匹配:匹配结果存在歧义时,取其长。默认是贪婪模式。 懒惰匹配:匹配结果存在歧义时,取其段。 指定模式:只需要在正则表达式的末尾,也就是斜杠(/)的后面,加上一个修正模式的标识,大写的U。如PHP中:$pattern = '/imooc.+123/U'。
    查看全部
  • 模式单元: ()匹配其中的整体为一个原子。 会把括号以及里面的正则表达式当做是一个原子来看待,可以与()后面的字符组成模式单元 例: 之前: Duang~duang~ 或[Dd]uang~ 模式单元写法:(Dd)ang~ 即匹配 Dang~和dang~
    查看全部
  • 【边界控制与模式单元】 ^ 匹配字符串开始的位置 $ 匹配字符串结尾的位置 ()匹配其中的整体为一个原子 例: ^ 即表示在第一个字符前面不能有任何东西, $ 即表示必须以最后一个字符结束,后面不能有任何其他字符
    查看全部
  • 1、{n} 表示其前面的原子恰好出现n次。 2、{n,} 表示其前面的原子最少出现n次。 3、{n,m} 表示其前面的原子最少出现n次,最多出现m次。 4、* 匹配0次,1次,或者多次其之前的原子,即{0,}。 5、+ 匹配1次,或者多次其之前的原子,即{1,}。 6、? 匹配0次,1次,或者1次其之前的原子,即{0,1}。
    查看全部
  • 元字符: 原子的集合: 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模式知识。
老师告诉你能学到什么?
在本课程中可以充分理解正则表达式的定义并掌握如何在实际开发中应用正则表达式。其中包含表单验证实际应用以及简易版模板引擎的实现。
友情提示:

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