php 正则表达式(模式修正符)

 更新时间:2016年11月25日 15:14  点击:2377
正则表达式的匹配先后顺序: 1.模式单元 2.重复匹配 ? * + {} 3.边界限定 ^ $ \b \B 4.模式选择 |

第八章(3)正则表达式(模式修正符)
正则表达式的匹配先后顺序:
1.模式单元 2.重复匹配 ? * + {} 3.边界限定 ^ $ b B 4.模式选择 |
模式修正符:
模式修正符是标记在整个模式之外的.
i :模式中的字符将同时匹配大小写字母.
m :字符串视为多行.
s :将字符串视为单行,换行符作为普通字符.
x :将模式中的空白忽略.
A :强制仅从目标字符串的开头开始匹配.
D :模式中的美元元字符仅匹配目标字符串的结尾.
U :匹配最近的字符串.

preg_replace(1.正则模式 2.替换成的字符串 3.要被替换的字符串在哪里面 4.替换的次数) 执行正则表达式的搜索和替换.preg_match,preg_match_all

第八章(4)正则表达式处理函数(一)
e :可以把替换出来的结果当成php函数执行.
preg_replace(1.正则模式 2.替换成的字符串 3.要被替换的字符串在哪里面 4.替换的次数) 执行正则表达式的搜索和替换.
preg_split(1.正则模式 2.要被分割的字符串名称) 执行表达式的分割.
preg_match(1.正则模式 2.要被匹配的字符串组 3.匹配后已知次数及内容的数组名称) 进行正则表达式匹配.
preg_match_all(1.正则模式 2.要被匹配的字符串组 3.匹配后已知次数及内容的数组名称) 进行全局正则表达式匹配.
preg_grep(1.正则模式 2.要被匹配的数组名称) 返回与模式匹配的单元.

正则表达式是用描述字符排列模式的一种语言规则. 正则表达式的作用:字符串的模式分割,匹配,查找,替换. 普通字符:就是由所有未显示指定为元字符的打印和非打印字符组成.<所有的大小写字母字符,所有数字,所有标点符号以及其它一些字符>

第七章(14)面向对象详解_多态的应用
多态的应用:把子类对象复制给父类的引用,然后去调用父类的方法,但是执行子类被覆盖父类的那个方法.
多态是指一段程序能够处理多种类型对象的能力.
     第八章(1)正则表达式(功能介绍及原子)
正则表达式是用描述字符排列模式的一种语言规则.
正则表达式的作用:字符串的模式分割,匹配,查找,替换.
普通字符:就是由所有未显示指定为元字符的打印和非打印字符组成.<所有的大小写字母字符,所有数字,所有标点符号以及其它一些字符>
原子就是普通字符.
原子表[]:就是在[]里面有的字符任意匹配一个单个字符.
[^] :匹配除[^]里面外的任意字符.
d :匹配0-9的数字.
D :匹配除数字外的任意字符.
w :匹配字母,数字,下划线的任意字符.
W :匹配除字母,数字,下划线的任意字符.
s :匹配空白符.
S :匹配除空白符外的任意字符.
f :匹配换页符.
n :匹配换行符.
r :匹配回车符.
t :匹配制表符.
v :匹配垂直制表符.
元字符:有特殊功能和用途的字符.
* :匹配其前原子0,1或多次.
+ :匹配其前原子1次或多次.
? :匹配其前原子0次或1次.
. :匹配除换行符外的任意字符.
| :匹配1个或多个.
^ :匹配字符串串首的原子.
$ :匹配字符串串尾的原子.
b :匹配单词的前或后边界.
B :匹配非单词边界.
限定符:
{m} :表示其前原子恰好出现m次.
{m,n} :表示其前原子至少出现m次,最多出现n次.
{m,} :表示其前原子出现不能少于m次.
() :表示在()里面的所有是一个原子.

interface 接口名称{所有的属性都必须是常量,所有的方法都必须是抽象的,所有的成员都必须是公有的} 接口的作用:是一个规范.

 第七章(13)面向对象详解_接口的声明与使用
interface 接口名称{所有的属性都必须是常量,所有的方法都必须是抽象的,所有的成员都必须是公有的}
接口的作用:是一个规范.
实现接口时使用implements<继承接口的关键字>.
可以使用抽象类去实现一个接口的部分方法.
使用类去实现接口中的全部方法.
接口的使用实例:
interface<声明接口的关键字> Ren1
{
 const XINGMING="张三";
 function shuohua1();
 function shuohua2();
}
interface Ren2 extends<接口继承接口可以使用继承关键字> Ren1
{
 function shuohua3();
 function shuohua4();
}
interface Ren3{function shuohua5();}
interface Ren4{function shuohua6();}
class Ren5{function shuohua7(){echo "7777<br>";}}
class Ren extends Ren5 implemenrs<继承接口的关键字,必须先继承类再继承接口,可以同时继承多个接口> Ren2,Ren3,Ren4
{
 function shuohua1(){echo "1111<br>";}
 function shuohua2(){echo "2222<br>";}
 function shuohua3(){echo "3333<br>";}
 function shuohua4(){echo "4444<br>";}
 function shuohua5(){echo "5555<br>";}
 function shuohua6(){echo "6666<br>";}
<完整所有继承过来的抽象方法>
}
$r=new Ren(); echo Ren::XINGMING."<br>";
$r->shuohua1();  $r->shuohua2();  $r->shuohua3();  $r->shuohua4();  $r->shuohua5();  $r->shuohua6();  $r->shuohua7();
实例输出结果:
张三    1111    2222    3333    4444    5555    6666    7777

serialize

 

第七章(11)面向对象详解_对象的串行化和反串行化
串行化就是把对象转化成二进制的字符串 (要串行化的对象名称).
反串行化就是把二进制化字化为对象 unserilize(要反串行化的对象名称).
符串转串行化标准:
$r1=new Ren("张三",20,"男");
$str=($r1<要串行化的对象>);
$file=fopen("tmp.txt"<串行化保存到的文件地址>,"w"<写>);
fwrite($file,$str);
fclose($file);
反串行化标准:
include"ren.php"<将串行化对象的php移入反串行化的php中>;
$file=fopen("tmp.txt"<要反串行化的文件地址>,"r"<读>);
$str=fread($file,filesize("tmp.txt"<读的长度,填文件地址就是文件有好长就读好长>));
fclose($file);
$r=unserilize($str);
$r->shuohua();
在什么情况下将对象串行化:
1.对象在网络中传输的时候.
2.将对象存入文件或数据库的时候.
__sleep(){$arr=array(要串行化的属性);return $arr;}串行化部分属性时自动调用的方法.
__wakeup()反串行化时自动调用的方法<可以将串行化的属性在反串行化时初始值>.
     第七章(12)面向对象详解_抽象方法和抽象类
抽象方法:在类里面没有方法体的方法就是抽象方法.
abstract<抽象方法关键字> function 方法名();.
抽象类:抽象类不能实例化对象的,此类就是抽象类,抽象类不能实例化 对象,就要在此类前面加 abstract来修饰.
抽象类的用途:就相当于一个规范,如果要抽象类里面的原有的功能实现就必须以抽象类作为父类做一个子类,然后覆盖完整抽象类里面的抽象方法,才能使抽象类里面的功能一一实现.

[!--infotagslink--]

相关文章

  • PHP正则表达式取双引号内的内容

    取双引号内的内容我们如果一个字符串中只有一个可以使用explode来获得,但如果有多个需要使用正则表达式来提取了,具体的例子如下。 写程序的时候总结一点经验,如何只...2016-11-25
  • PHP正则表达式之捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
  • php 验证只能输入汉字、英语、数字的正则表达式

    正则表达式是一门非常有用的并且进行模糊判断的一个功能了,我们下面来看通过正则来验证输入汉字、英语、数字,具体如下。 收藏了正则表达式。可以验证只能输入数...2016-11-25
  • java正则表达式判断前端参数修改表中另一个字段的值

    这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
  • 常用的日期时间正则表达式

    常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
  • PHP正则表达式匹配验证提取网址URL实例总结

    网址规则是可寻的,所以我们可以使用正则表达式来提取字符串中的url地址了,下面一起来看看小编整理的几个PHP正则表达式匹配验证提取网址URL实例. 匹配网址 URL 的...2016-11-25
  • 一个关于JS正则匹配的踩坑记录

    这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
  • 正则表达式中两个反斜杠的匹配规则详解

    这篇文章主要介绍了正则表达式中两个反斜杠的匹配规则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • C#正则表达式使用方法示例

    这篇文章主要介绍了C#正则表达式使用方法,大家参考使用...2020-06-25
  • JS中使用正则表达式g模式和非g模式的区别

    这篇文章给大家详细介绍了JS中使用正则表达式g模式和非g模式的区别,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-04-03
  • 常用C#正则表达式汇总介绍

    c#正则表达式,用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。...2020-06-25
  • JavaScript利用正则表达式替换字符串中的内容

    本文主要介绍了JavaScript利用正则表达式替换字符串中内容的具体实现方法,并做了简要注释,便于理解。具有一定的参考价值,需要的朋友可以看下...2017-01-09
  • 一文秒懂python正则表达式常用函数

    这篇文章主要介绍了python正则表达式常用函数及使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • Idea使用正则表达式批量替换字符串的方法

    这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-07-21
  • js正则学习小记之匹配字符串字面量

    关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子...2021-05-07
  • PHP正则表达式之捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
  • C# 中使用正则表达式匹配字符的含义

    正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧...2020-06-25
  • Python验证的50个常见正则表达式

    这篇文章主要给大家介绍了关于利用Python验证的50个常见正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-11
  • C#编程自学之运算符和表达式

    这篇文章主要介绍了C#运算符和表达式,这是自学C#编程的第五篇,希望对大家的学习有所帮助。...2020-06-25
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06