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

鬼斧神工之正则表达式

壞大叔bbUncle PHP开发工程师
难度初级
时长 3小时12分
  • preg_replace()会保留所有的字符元素,而preg_filter()只会保留发生过替换行为的字符元素。 前提:第三个参数为数组的情况下。
    查看全部
  • preg_match 第三个参数为可选<br> preg_match_all 第三个参数为必填<br> <br> preg_match()匹配一次,preg_match_all()匹配多次。 preg_match()的返回值只可能是0或1。
    查看全部
  • 实验配置
    查看全部
  • preg_flite不会保留没有匹配到的数组元素
    查看全部
  • 原子筛选方式 匹配两个或多个分支选择 [] 匹配方括号中地任意一个原子 例如 [Dd]uang就会在中括号地D和d进行匹配 [^] 匹配除方括号中地原子之外任意一个原子字符 例如 [789]会匹配中括号所有的789 [^789]会匹配中括号中所有的789之外地字符 [a-z] [0-0]匹配区间内所有地字符,区间写法 原子的集合 . 匹配除换行符之外的任意字符 \d 匹配任意一个十进制的数字,即【0-9】 \D 匹配任意一个非十进制的数字,即【^0-9】 \s 匹配一个不可见原子,即【\f\n\t\v】 \S 匹配一个可见原子,即【^\f\n\t\v】 \w 匹配任意一个数字,字母或下划线,即【0-9a-zA-Z_】 \W 匹配任意一个非数字,字母或下划线,即【^0-9a-zA-Z_】 量词 {n} 表示其前面的原子恰好出现N次 例 5{3} 5出现3次 5{2} 5出现2 \w{4} 连续出现四次数字,字母或下划线 {n,} 表示其前面的原子最少出现N次 {n,m} 表示其前面的原子最少出现N次,最多出现m次 * 匹配0次,1次或者多次其之前的原子,即{0,} + 匹配1次或者多次其之前的原子,即{1,} ? 匹配0次或者1次其之前的原子,即{0,1} 边界控制与模式单元 ^ 匹配字符串开始地位置 $ 匹配字符串结尾地位置 .() 匹配其中的整体为一个原子 修正模式 /U 懒惰模式 /i 忽略大小写 /Ui 懒惰模式忽略大小写 X 忽略空白 s 让元字符 ' . '匹配包括换行符在内所有字符 e .+ 非空 练习例 \d+.\d{2}$匹配一个一位或多位的整数部分和保留小数点后两位 999885.23 $ 边界控制强制保留两位小数 手机号 1[34578]\d{9}或者1(35784)\d{9} email地址 ^\W+(\.\W+)*@\W+(\.\W+)+$ 网址 ^(https?://)?(\w+\.)+(comcn)+$ ^(https?://)?(\w+\.)+[a-zA-Z]+$
    查看全部
  • 原子筛选方式 匹配两个或多个分支选择 [] 匹配方括号中地任意一个原子 例如 [Dd]uang就会在中括号地D和d进行匹配 [^] 匹配除方括号中地原子之外任意一个原子字符 例如 [789]会匹配中括号所有的789 [^789]会匹配中括号中所有的789之外地字符 [a-z] [0-0]匹配区间内所有地字符,区间写法 原子的集合 . 匹配除换行符之外的任意字符 \d 匹配任意一个十进制的数字,即【0-9】 \D 匹配任意一个非十进制的数字,即【^0-9】 \s 匹配一个不可见原子,即【\f\n\t\v】 \S 匹配一个可见原子,即【^\f\n\t\v】 \w 匹配任意一个数字,字母或下划线,即【0-9a-zA-Z_】 \W 匹配任意一个非数字,字母或下划线,即【^0-9a-zA-Z_】 量词 {n} 表示其前面的原子恰好出现N次 例 5{3} 5出现3次 5{2} 5出现2 \w{4} 连续出现四次数字,字母或下划线 {n,} 表示其前面的原子最少出现N次 {n,m} 表示其前面的原子最少出现N次,最多出现m次 * 匹配0次,1次或者多次其之前的原子,即{0,} + 匹配1次或者多次其之前的原子,即{1,} ? 匹配0次或者1次其之前的原子,即{0,1} 边界控制与模式单元 ^ 匹配字符串开始地位置 $ 匹配字符串结尾地位置 .() 匹配其中的整体为一个原子 修正模式 /U 懒惰模式 /i 忽略大小写 /Ui 懒惰模式忽略大小写 X 忽略空白 s 让元字符 ' . '匹配包括换行符在内所有字符 e
    查看全部
  • regexTool
    查看全部
  • 元字符
    查看全部
  • preg_split
    查看全部
  • <?php require_once 'template.class.php'; //获取到项目的根目录的完整路径;为了兼容Linux平台,把Windows中的正斜杠\统统替换成反斜杠/ $baseDir = str_replace('\\','/',dirname(__FILE__)); //实例化模板引擎 $temp = new template($baseDir.'/source/',$baseDir.'/compiled/'); //使用模板引擎去调用assign这个方法,然后向变量池中赋值两个变量 //$temp->assign($tag,$var); $temp->assign('pagetitle','山寨版Smarty'); $temp->assign('test','imooc女神'); //获取到模板的源文件 $temp->getSourceTemplate('index'); //编译模板文件,不传名称,使用默认的index $temp->compileTemplate(); //把编译之后的目标显示出来 $temp->display(); ?>
    查看全部
    0 采集 收起 来源:模板引擎测试

    2018-03-22

  • 模板引擎类--显示模板 public function display($templateName = null;$ext = '.html'){ $templateName = empty($templateName) ? $this->currentTemp : $templateName; //将代码输出,用include_once来包含编译后的模板文件 include_once $this->compileDir.md5($templateName).$ext;
    查看全部
  • //经过正则替换之后,这个outputHtml就是编译之后的html代码,将它生成一个目标文件 $compiledFilename = $this->compileDir.md5($templateName).$ext; file_put_contents($compiledFilename,$this->outputHtml);
    查看全部
  • <?php //定义正则表达式 $pattern = '/\{#'; $pattern .= ' *\$([a-zA-Z_]\w*) *'; $pattern .= '#\}/'; //定义匹配的目标数据 $subject = '测试:{#$test#}'; //将$subject进行正则替换 //$subject = preg_replace($pattern, 'imooc', $subject); //$subject = preg_replace($pattern, 'imooc$1', $subject); $subject = preg_replace($pattern, '<?php echo $$1;?>', $subject); // $$1<=>$\\1 echo $subject; ?>
    查看全部
    0 采集 收起 来源:正则替换测试

    2018-03-22

  • /模板引擎类--模板编译;通过$templateName去生成它的编译文件,默认为空 public function compileTemplate($templateName = null,$ext='.html'){ //先获取到当前处理的模板文件的名称,首先检测一下它是否为空,是则从私有成员中获取,否则就用用户输入的$templateName $templateName = empty($templateName) ? $this->currentTemp : $templateName; //核心代码,编译模板中需要用到的正则替换
    查看全部
  • 模式单元
    查看全部

举报

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

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