《2023年php重要知识点总结PHP网络开发必背.pdf》由会员分享,可在线阅读,更多相关《2023年php重要知识点总结PHP网络开发必背.pdf(48页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、PHP网站开发必用知识点总结,函数一览,开发必背魔术方法_co n str u ct()当实例化一个对象的时候,这个对象的这个方法一方面被调用。_destruct()当删除一个对象或对象操作终止的时候,调用该方法。get()当试图读取一个并不存在的属性的时候被调用。_ s e t()当试图向一个并不存在的属性写入值的时候被调用。_ c a l 1 ()当试图调用一个对象并不存在的方法时,调用该方法。_toSt rin g ()当打印一个对象的时候被调用_ cl o n e()当对象被克隆时,被调用_ i s s et()_unset()0 _au t o 1 o ad($cla s sname
2、)_ sl e ep()_wakeup()系统常量_F I L E _ 当前文献名_ L 1 N E _ 当前行数 FUNCTION 当前函数名_ C L A S S _当前类名 METHOD当前对象的方法名PHP.OS当前系统PHP_VER S ION php 版本D IRECTORY_SE P ARATOR根据系统决定目录的分隔符 八PATH S E P A R A T O R 根据系统决定环境变量的目录列表分隔符;:E_ERROR 1E.WARNING 2E_PAR S E 4E_NOTICE 8M_P I 3.14 1 592$_ S ER V E R$_ENV执行环境提交至脚本的变量
3、$_GET$_POST$_ R EQUEST$_FILES$_COOKIE$_SES S ION$_GLOBALS输出echo/Outpu t one o r m o re s t r ings。p rint/Output a stri n gprint_ r()打印关于变量的易于理解的信息、。var_ d ump()打印变量的相关信息var_e x port()/输出或返回一个变量的字符串表达p r intf(%.1 f,$num)/Ou t pu t a formatted st r i n gs p r intf()/R e t u r n a form a tted s tr in g
4、编码转换s t r ing mb_ c onvert_encodin g(strin g$str,s t r i n g$to_encoding,mixed$f rom_enco d i n g )iconv();时间d a t e_defau 1 t _timezo n e_set(P R C);oda te(u Y-m-d H:i:s);4ime();da t e(”Ym-d H:i:s H,time()+3 600)ini_ s e t(date,t i me z oneJPRC);m s ec sec microtim e()以秒返回时间戳 e xplod e f m i c r ot
5、 i m e()错误解决ol/0e r r o r_ reporting(E_ALL)显示所有错误error_ rep o rtin g(0)tr i gg e r_e r ror(MC a nn o t divide b y ze r o,E_ USER_ER ROR);t r y(M t h row new Ex c epti o n(执行失败);。ca t ch(Excep t ion$e x)(a e c h o Sex;。字符串解决string trim(Heee)trim(ff f f e,e)/1 trim r tr i marra y explod e(.fff.f f.f1)
6、按指定字符切割str i ng implode(.,$a r r a y)别名:join 把数组值数据按指定字符连接起来a r ra y str_split(eeeeeeee ,4)按长度切割字符串array split(M-H,”f f f-ff-fH)按指定字符切割in t s t rle n(*f ff f ffff7)取字符长度 string sub s tr(s t r i ng$s t ring,i n t$s t ar t,int$1 e n gth )subs t r($a,-2,2)截取字符in t su b s t r_co u n t($text,i s)字符串出现的次数
7、st r ing str s tr($text,h)第一次出现 h 后的字符串/别 名:strc h ri n t st r p o s($t e xt,h)第一次出现 h 的位置fist r rp o s();最后一次出现h 的位置str_ r e place C a 7,W,$t)把$t 里 的 替 换 为 tt t strtr($t,f is,/ppp*)把$t 中,i s 替换成 ppp,strtr(Hhi all,I s a i d h e llo,a r ra y(n h el 1 o n=hi)把,h eHo转换成,his t ring m d 5f i le(r 1.t xt*
8、,false)文献数据 m d 5 加密int strcmp(string s t rl,s tring sti*2)字符串比较int strc a seem p(s t r i ng strl,s t r in g str2)忽略大小写string s t r_pad($i,10,”STR_PAD_LEFT)在原字符左边补,-二,直到新字符串长度为10S T R _ P AD_RIGH TSTR_PAD_BOTHstr i ng s t r _ r epeat(T,5)反复 5 个 1v o id pa r se_s t r(*id=11z);echo$id;将字串符解析为变量如 ray p
9、re g_grep(7A(d+)?.d+$/,array(11.2,1 1,1 1.2)匹配数据arr a y preg_ split(7 s,+/“,h y p e r text la n gu a g e,progr a mm i ng );按指定的字符切割ar r a y pat h i nf o(string p at h,int o p tio n s)返回文献途径的信息s t r i ng ba s e name(st r i ng p a th,s tring suf f ix)返回途径中的文献名部分a s tring dirname(string p ath)$_S ERV E
10、RPH P_SEL F 返回途径中的目录部分str i ng n 1 2br(f oo isn*t n bar)nfoo i s nr t bar 把换行转成Vb r*st r in g chr(int ascii)*m i x e d s t r_wo r d_ c ount(s t ring strin g,int forma t,s t r i n gc h a rlis t )ostr i ng s tr_ s h u f fl e(abc)打乱字符串顺序s t r in g strr e v($str)*翻转一个字符串str i ng strto 1 ower($st r)*将字符串
11、$st r 的字符所有转换为小写的s t r ing str t oupper($str)*将字符串$st r的字符所有转换为大写的s tr in g uc fir st($s tr)*将字符串$r 的第一个单词的首字母变为大写。s tring u c words($str)*将 字 符 串$str的每个单词的首字母变为大写。s t ring addslash e s(HI m)I f m 使用反斜线引用字符串这些字符是单引号()、双引号()、反斜线()与 NUL(N U L L字符)s tri n g stripcslashes(I m)V m 将用 addslash e s()函数解决后的
12、字符串返回原样ostrip_t a g s(H ttu,)去除 htm l、xm l、php 标记,第二个参数用来保存标记“t ring u r 1 e nc o de(st r i n g str)ostri n g u r Ide c o d e (str in g str)st r in g h t m 1 s p e ci a lchars(T estn,ENT_QUO T ES)转换特殊字符为HTML字符编码。&1 t;a hr e f= 3 9;t e s t 9;>Te s t</a>;ENT_COMPAT-对双引号进行编码,不对单引号进行编码。EN
13、T_QUOTES-对单引号和双引号进行编码。ENT_NOQUOTES-不 对单引号或双引号进行编码strin g htmlen t i ti e s f f,ENT_QUOTES)转换特殊字符为 HTML字符编码,中文会转成乱码数组解决o i nt c o u n t(mi x e d v a r,int m ode)别名:s i z eof()取数组长度st r i n g implode$a r ray)别名:j o i n 把数组值数据按指定字符连接起来a r r a y ex p lo d e(.,fff.ff.f)按指定字符切割a rray ra n g e(0,6,2)返回数组ar
14、ray(0,2,4,6)第一个参数为起使数涕二个参数为结束数,第三个参数为数据增长步长int ar r a y_ p u sh ($a,3,1)把3、T 压入$a,将一个或多个单元压入数组的末尾(入栈),第二个参数开始就是压入的数据v o id un s e t(m ixed var,mix e d v a r ,.)a rray array_pad($a,5,s )用s将数组填补到指定长度0bo o 1 s huffl e(a rr a y$a r r ay)将数组打乱mixed arr a y_ra n d(array inpul,i n t num_r e q )从数组中随机取出一个或多
15、个单元的索引或键名ar r a y ar r a y_cou n t_v a lues(arr a y input)记录数组中所有的值出现的次数a r ray a r ray_c o mb i ne(ar r ay keys,a r r a y valu e s)仓 ij 建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值boo 1 ar r ay_key_exists(mixed k ey,a rray s e arc h)检查给定的键名或索引是否存在于数组中mix e d a r r a y _ s e ar c h(mix e d needle,a rray hay s ta
16、c k ,bo o 1 strie t)在数组中搜索给定的值,假如成功则返回相应的键名boo 1 is_ arr a y(mixed v a r)bool in_ a r r a y(mix e d n ee die,ar r ay h a y st a ck,bool str i c t)检查数组中是否存在某个值number a r r a y_sum(a rra y array)计算数组中所有值的和 array a r ray_u n iqu e(array array)移除数组中反复的值mi x e d reset(array&a r ra y)将数组的内部指针指向第一个单元mix e
17、d c u rre n t(array&array)mixed ne x t(arr a y&array)mix e d pr e v(a rra y&a r r ay)mix e d e n d(array&arr ay)mix e d k e y(a r r a y&ar r a y)arra y a rray_ke y s(a r r ay i n p ut,m i xed s ea r c h_ value,b o o lstr i c t )返回数组中所有的键名a rr a y a r ra y _val u e s(anay i np u t)返回数组中所有的值bool pri n
18、 t r(m i xed expre s s i on,b o ol r eturn)v oi d va r _d u mp(mix e d ex p r e ssi o n,mixe d e x pressio n)“n t a rray_u n s hi f t(array&ar r ay,m i xe d v ar,mixe d )在数组开头插入一个或多个单元omix e d a r r ay_shif t(array&ar r ay)将数组开头的单元移出数组mixe d a rra y _ p o p (array&arra y)将数组最后一个单元弹出(出栈)r ray a r r a
19、y_sp 1 ice(array$i n p u t,int offs e t,i n t len g t h,a rr a y r ep 1 acem ent)把数组中的一部分去掉并用其它值取代r ray ar r a y _ merge(a rr a y a rray 1 L,array a rra y 2,ar r ay.)合并一个或多个数组a r ray arr a y_fl i p(array t r ans)互换数组中的键和值i n t e x t r act(a r r a y v ar_ a rray,int ex t r a ct_ t y p e,s trin gprefi
20、x)从数组中将变量导入到当前的符号表oarray compac t(mi x ed vamame,mi x ed.)建立一个数组,涉及变量名和它们的值4x)ol so rt(a rra y&a r ray,i n t s o rt_ f 1 a g s)从最低到最高重新安排 bool natsort($a)用“自然排序”算法对数组排序b 00 1 rsort(a rray&a r ray,i n t so r t_fla g s )对数组进行逆向排序(最高到最低)b ool asort(a rray&array L,int s o rt_f 1 ags)对数组进行排序并保持索引关系bool a
21、rso r t(array&a r ray,i nt sort_ f 1 a g s )对数组进行逆向排序并保持索引关系 b o ol k s o rt(ar r ay&array,i n t sort_fla g s)对数组按照键名排序bool krs o rt(array&a rr a y,in t sort_f 1 a g s )对数组按照键名逆向排序r ra y arra y _filte r(ar r ay in p u t,ca 1 lb a c k callba c k)用回调函数过滤数组中的单元bo o 1 ar r a y_ walk(a r r ay&a r ray,c a
22、 llback f uncnam e,m i xe duse r d a ta)对数组中的每个成员应用用户函数r ra y a r r ay_ m a p(call b a c k cal 1 b a ck,a rray a rrl,a rray.)将回调函数作用到给定数组的单元上arr a y a r ray_ f ill(int start_ i n dex,int num,mi x e d value)用给定的值填充数组a rrayfill(5,3,a)-array(5=a,6=a;7=a,)arr a y array_chunk(ar r ay in p ut,in t s ize,b
23、oo 1 p reserv e _keys)将一个数组分割成多个其他i s s et()变量是否存在bo olean empty。检查变量是否存在,并判断值是否为非空或非0void u n se t()销毁变量h eader(*Co n t e nt-Type:t ext/h tml;chars e t=ut f-8);me t hod_exis t s($obj,$method)。判断对象的方法是否可用fi 1 e_exists($file)判断文献是否存在ofun c tion_ e xists();cl a ss_ ex i s t s($c 1 ass_ n am e);getty p
24、e();获取数据类型se t _ma g i c_quot e s_r u ntime()0 f or o f f,1 f or on 当碰到反斜杆、单引号,将会自动加上一个反斜杆,保护系统和数据库的安全ini_set();安全。f u n ction s trReplace($s t r)。$str Resu 1 t=$s t r;if(!get_magic_qu o t e s_g p c()判断设立是否启动0$st r Resul t=ad ds 1 a shes($s t r Resu 1 t);转换 s ql 语句特殊字符。r e tur n$s t r R e suit;0)of
25、u n c t ion q u otes($cont e n t)假如magic_ q uote s _gpc=Of f,那么就开始解决。if(!g e t_m a g i c_q u otes_gpc()0 0|。判 是 否 为 数 组“if(is_ a rr a y($co n te n t)0 0 0 1。“/假如$co n te n t是数组,那么就解决它的每一个单无ggf o reach($co n t ent a s$key=$va 1 ue)0 0$c o n t en t$key=a d d se);0)e Ise0 0 。假如$c o n t en t不是数组,那么就仅解决一
26、次ooa d dslashes($c o n t e n t);)0 0|。/返回$c o nt e n to r e t u r n$con t ent;)sm a r t y1 ashes($v a 1 u。模板引擎将不分析。6fu net i o n t()0 0 j。读取配置文献!co n figjoad file=ncon f ig.s。引入文献。g$t r u s ted_ d ir指定目录下的文献捕获模板输出的数据。0 f ffffffff。循环8Vsecti o n name=loop lo o p =$News_ I N。00。o 新闻编号:。新闻内容:V$n e wsID.
27、new s T i tl e 判断oo1 111。2 2222 2 22。时间o o$smart y.now|date.fo rm a t:n%Y-%m-%d%H:%M:%S”。丫年%11月%1 日舌L码o !-$smar t y.n o w|d ate_ f ormat:n%Y 年01 月(1 日%H 时1 4分5 秒”。修改插件:plugins/modif i er.date_format.p h p$format=mb_ co n vert_ e ncoding($forma t/g bk,u tf-8*);。r et u rn mb_ c o n vert_ e neo d ing(s
28、t r f time($forma t,Stimest a mp),utf-8-g b k1);局部不缓存oh t ml:。oodtMo o p h p:$sma r ty-reg i s t er_blo c k(cach e less,smar t y_ b lock_dyna mic,f alse);/true:缓存,fal s e:不缓存function s mar t y_block_d y n amic($p a ram,$c o nte n t,&$sm arty)00 8。r e t urn$co n tent;00 8 p hp:。f u n c ti on in s e r
29、 tkk()方法名前必须有“i n s ert06 r e t u rn d a te(Y-m-d H:i:s*);0 0。htm 1 :6。自定义方法。注册方法Php。s mar t y-r e gister_ function(*t e s tl,r te s t );“gfunct i on t e st($p)r e t u r n f f ff ff f ff f;)oohtml:方法自定义。插件文献方式定义方法。川 f unction.t e st.p h p 文献存在 plugin s 目录下,方法名:smart y _fu n e t ion_te s t($pa r a ms
30、,&$s marty)。of u nc t i on sm a rt y _fu n c tio n _ test($params,&$sm a rty)000。ore t u rn fff;h im l调用:。插入方法。插件文献:ins e rt.k k.p h p 文献存于pl u g ins目录下 f u n c tio n smar t y_i n se r t_k k()000 oooooretu r n date(Y-m-d H:i:s);00 0)叩hp:M f u n cti o n insert_k k()/方法名前必须有”i n s e r tH0 00 00ooretur
31、n d ate(Y-m-d H:i:s*);0 00 J。h t ml:。管道符自定义方法插件文献方式定义方法。modifier.test.ph p 文献存在于 plu g ins 目录下,方法名:functi o n smar t y_m o di f ier_tes t($str,$str 2)ofunctio n sma r t y_modif i e r_test($s tr,$str2)00。r eturn$str.$str2;6)“ohtm 1 调用:o P hp:。f unction eee($a)。(。oore t u r n fffff f;00 Iahtm 1 :。i f
32、语句e q 相等,one、ne q 不相等,gt大于Mgte ge大于等于,he、le 小于等于,o n o t非,mod求模。is no t d i v b y 是否能被某数整除,。is not even是否为偶数,$a is not e v e n by$b 即($a/$b)%2 =0 is not odd是否为奇$a is n ot o d d by$b BP($a/$b)%2!=0XMLsax。xml:boo ksg。J ack Her r ing t on PH P H a c k s。0 R e i 1 1 y。o Jack Herrin g t o n。Podcas t in g
33、 Ha c ks。ORei 1 ly。V/book作者 V/a u tho r 3 Vtit 1 e 标题 v/titl e。出版者v/pu b lis h e r ph p:$g _books=ar r a y();$g _el e m=n u 1 1;。f u n c tio n s tartE 1 em e nt($p a rs e r,$n a m e,$attrs)glob a 1$g_books,$g_elem;if($nam e=BOOK)$g_ bo o k s J=a rr a y();。$g_ el e m=$n am e;)f u nc t i o n end E 1 e
34、 ment($p a rs e r,$n a me)(o g 1 obal$g_ e lem;。$g_elem=n u 11;funct i on textDa t a($p a r s er,$text)(global$g_boo k s,$g_ e lem;。i f($g_elem =AUTHOR|o o o$g_elem PUBLISHER|$g_elem=TITL E)。$g_b o o k s cou n t($g _ b oo k s)-1$g_elem =$text;6 0)$p arser=x ml_pa r ser_ ere a t e();。x ml_ s e t _ e
35、1 eme n t_handler(Sparser,st a r tElem e n t ,endElement”);。xml_ s e t _char a c t e r _d a t a _han d ler($p arser,M t e xtDa t a*);$f=f op e n(1.xml,r);。wh i le($da t a=fre a d($f,4096)6 x ml_pa r se($p a r se r,$d at a);0)a xm 1 _parser_ f r ee(Spars er);。forea c h($g _bo o k s a s$b ook)0 o echo
36、$b o ok T IT L E”-n.$b o ok AUTHOR.-H;。e c ho$b o o kPUBLISHER.;DomD o c ument()xm 1 :。J a c k Herringto n。e P HP H a cks。O Rei11y。Jack He r rington。Pod c as t ing HacksO Reil 1 y。作者3g 标题o 出版者ophp读取:$doc=new DO MDocumen t();。$docload(nl.xmlu);。$boo k s=$d oc-getE 1 eme n t s ByTagNam e(b ooku);for e
37、 ac h($bo o ks a s$book)$a u thors=$b ook-g e t El e ments B yTagName(au t hor”);$a u thor=$a u t h ors-it e m(0)-node V a 1 ue;g$publ i s hers=$book-g etElemen t sByTagN a me(p ubl i sh ern);。$publisher=$p ub 1 ishers-i tem(0)-n od e V ai u e;o$t it le s =$b o o k-getE 1 eme n tsByTagName(ntitl e);
38、。$tit 1 e=$t it 1 es-i t em(0)-n o deVa 1 ue;。e cho$t i t 1 e$a u t hor-$publ i s h e r H;)php生成:。$b o o k s=array();books =a r ra y(。8 t i t l e =PHP H a c k s,。auth o r 1=*J ack H e rr i ngt o no1 p u bl i s h e r=OReil l y”008)*。$b o oks =arr a y(“titl e =Pod c a s ting Ha c k s o gau t hor=J a c
39、k Herrington,。pub 1 i s h er=M0R e illy1);。$doc=n e w D 0 MDo c ume n t();$doc-form a t O utpu t=t ru e;$r=$d oc-create E 1 e ment(b ooks);g$d o c-appen d Ch i 1 d($r);f o reac h($b ooks as$book)(g$b=$doc-cr e ate E lem e n t(book”);。$au t hor=$d oc-crea t eElement(Uauth or );o$authorappendCh i I d(
40、$doc-cre a teTextNod e($boo k*auth orl);。o$bap p endChi 1 d($a u t h or);o o =$d o ccreateE 1 ement(Mt i tie );。$titleappe n d Child($d o c-cre a t eTextN ode($bookt i t1 e-);$b-appen d C hild($t i tie);$pub 1 isher=$doc-createElemen t(publisher);。$p ub 1 isher-app e ndChild($d o c-c r e ateT extNo
41、d e($boo kfpubli s her*);ow$b-a pp e ndC h i 1 d($p ubli s h e r);。$r-a p p endCh i ld($b);)echo$docsaveXML();。echo$d o c-s ave(2 2 2.xmlz);S im p leXM Lx ml:。J ack Herrin g t o n。P H P H ac k s。ORei11y V/p u bl i s h e r。V /books。p hp:o$xml=new SimpleXM L Eleme n t(1l.x ml,NULL,TRU E);eecho$xm 1 bo
42、ok0-aut h or.*_$xml-book01 t i tie.*_u.$xml-b o ok 0-pub 1 ish e r;正则e r e g 系列的正则表达式不需要定届符,P re g 系列的才需要,并且定界符可以自己选择,只有前后一对就行,比如我们一般使用/符号,但是假如里面有/需要匹配那么就需要使H1V来表达,当/需要出现多次的时候,这样就不方便,我们就可以使用其他的定界符,比 如 I正则特殊字符。.+*?八$()=!|:由原子(普通字符,如英文字符)、元字符(有特殊功用的字符)模式修正字符一个正则表达式中,至少包含一个原子所有符号解释将下一个字符标记为一个特殊字符、或一个原义
43、字符、或一个 向后引用、或一个八进制转义符。例如,鼠 匹配字符n.n,匹配一个换行符。序 列 W匹配 而 则匹配-匹配输入字符串的开始位置。假如设立了 R egExp对象的M u i t i 1 i n e属性,人 也 匹 配 n,或r 之后的位置。$匹配输入字符串的结束位置。假如设立了 R e g E x p对象的M u l t i l i n e属性,$也匹配、n或,之前的位置。*匹配前面的子表达式零次或多次。例如,z o*能 匹 配 z 以及“z o o。*等价于 0,+匹配前面的子表达式一次或多次。例如,ZO+,能匹配zo以及 z。,但不能匹配z+等价于 1,。?匹配前面的子表达式零次
44、或一次。例如,d o(e s)?可以匹配do或 d o e s”中的 d o .?等价于 0,1。n n是一个非负整数。匹配拟定的n 次。例如,o 2 不 能 匹 配 B o b 中 的 o ,但 是 能 匹 配 f o o d 中 的 两 个o。n,n是一个非负整数。至少匹配n次。例如,b 2,不能匹配 B o b 中的 o ,但能匹配 f o o o o o d 中的所有o。等价于 0+。o 0,则等价于 0*。n,m m和n均为非负整数,其中n=m。最少匹配n 次且最多匹配m 次。例如,o 1,3 将匹配 f o o o o o o d 中的前三个0。o 0,l 等价于P?请注旨在逗号和
45、两个数之间不能有空格。?当该字符紧跟在任何一个其他限制符(*,+,?,n ,n,n,m )后面时,匹配模式是非贪婪的。非贪婪模式尽也许少的匹配所搜索的字符串,而默认的贪婪模式则尽也许多的匹配所搜索的字符串。例如,对 于 字 符 串 。”,。+?,将匹配单个 0 ,而将匹配所有 o。.匹 配 除“n之外的任何单个字符。要匹配涉及W在内的任何字符,请使用象 的模式。(p a t t e r n)匹 配p a t t e r n并获取这一匹配。所获取的匹配可以从产生的M a t e h e s集合得到,在V BS cript中使用S u b M a t c h e s集合,在J Se r i pt中
46、则使用$0$9属性。要匹配圆括号字符,请使用(,或)(?:patt e r n)匹配pat t e r n 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这 在 使 用 或 字 符(|)来组合一个模式的各个部分是很有用。例如,industr(?:y I i es)就 是 一 个 比 in d ust r y|i ndustries更简略的表达式。(?=pat t e r n)正向预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,Windows(?=95|98|NT|2023),能匹配Wi n dow
47、s 2023中的W i ndo w s ,但 不 能 匹 配 Windows 3.1 中的W i ndowso预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。(?!p a tte rn)负向预查,在任何不匹配pat t e m 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例 如 Window s(?!95 I 98|N T|2023),能 匹 配 W i nd o ws 3.1中的 Windows,但不能匹配Windows2023中 的 Windows。预查不消耗字符,也就是说,
48、在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始x I y 匹配 x 或 y。例如,z|food能匹配 z 或 food (z|f)oodr则 匹 配 z o o d 或food。Ix y z 字符集合。匹配所包含的任意一个字符。例如,a b c 可以匹配pla in 中 的 a。x y z 负值字符集合。匹配未包含的任意字符。例如,R a b e 可以匹配 plain中的7。L a-z 字符范围。匹配指定范围内的任意字符。例如,a-z 可 以 匹 配 a,到2 范围内的任意小写字母字符。A a-z 负值字符范围。匹配任何不在指定范围内的任意字符。例
49、如z 可以匹配任何不在宜到Z 范围内的任意字符。b 匹配一个单词边界,也就是指单词和空格间的位置。例如,,erb,可以匹配never中 的 e r,但不能匹配 v e r b 中 的 er。B 匹配非单词边界。e rB 能匹配verb中 的 er,但不能匹配n e v er中的 e rz c x 匹 配 由x指明的控制字符。例如,c M匹配一个 C o n t r o l-M或回车符。x的值必须为A-Z或a z之一。否则,将c视为一个原义的 C字符。d匹配一个数字字符。等 价 于 0-9 oD 匹配一个非数字字符。等价于0-9。f匹配一个换页符。等价于 x 0c和 c L o n匹配一个换行符
50、。等价于 x 0a和cJ。r匹配一个回车符。等价于 x 0 d和 c M。s匹配任何空白字符,涉及空格、制表符、换页符等等。等 价 于 f n r t v。S 匹配任何非空白字符。等 价 于M f n r t v。t匹配一个制表符。等价于 x0 9和 c I。v 匹配一个垂直制表符。等价于 xO b和 c K。w匹配涉及下划线的任何单词字符。等价于1 A-Z a-z O-9 W 匹配任何非单词字符。等价于,厂A-Z a-z 0 -9 _ x n匹 配n,其 中n为十六进制转义值。十六进制转义值必须为拟定的两个数字长。例如,x4 1 匹配“A 、x 041则等价于“0 4&1。正则表达式中可以使