2023年php重要知识点总结PHP网络开发必背_第1页
2023年php重要知识点总结PHP网络开发必背_第2页
2023年php重要知识点总结PHP网络开发必背_第3页
2023年php重要知识点总结PHP网络开发必背_第4页
2023年php重要知识点总结PHP网络开发必背_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PHP网站开发必用知识点总结,函数一览,开发必背

魔术方法

___construct()当实例化一个对象的时候,这个对象的这个方法一方面被调用。

_destruct()当删除一个对象或对象操作终止的时候,调用该方法。

—get()当试图读取一个并不存在的属性的时候被调用。

_set()当试图向一个并不存在的属性写入值的时候被调用。

_cal1()当试图调用一个对象并不存在的方法时,调用该方法。

_toString()当打印一个对象的时候被调用

_clone()当对象被克隆时,被调用

_isset()

»___unset()

0___auto1oad($classname)

_sleep()

___wakeup()

系统常量

_FILE_当前文献名

_L1NE_当前行数

—FUNCTION—当前函数名

_CLASS_当前类名

—METHOD—当前对象的方法名

PHP.OS当前系统

PHP_VERSIONphp版本

DIRECTORY_SEPARATOR根据系统决定目录的分隔符八

PATHSEPARATOR根据系统决定环境变量的目录列表分隔符;:

E_ERROR1

E.WARNING2

E_PARSE4

E_NOTICE8

M_PI3.141592

$_SERVER

$_ENV执行环境提交至脚本的变量

$_GET

$_POST

$_REQUEST

$_FILES

$_COOKIE

$_SESSION

$_GLOBALS

输出

echo//Outputoneormorestrings

。print//Outputastring

print_r()〃打印关于变量的易于理解的信息、。

®var_dump()〃打印变量的相关信息

var_export()//输出或返回一个变量的字符串表达

printf("%.1f,$num)//Outputaformattedstring

sprintf()//Returnaformattedstring

编码转换

stringmb_convert_encoding(string$str,string$to_encoding[,mixe

d$from_encoding])

iconv();

时间

date_defau1t_timezone_set("PRC");

odate(uY-m-dH:i:s");

4ime();

®date(”Y—m-dH:i:sH,time()+3600)

ini_set('date,timezone'JPRC');

°msecsecmicrotime()以秒返回时间戳explodefmicrotime())

错误解决

o@l/0

error_reporting(E_ALL)显示所有错误

error_reporting(0)

°trigger_error(MCannotdividebyzero",E_USER_ERROR);

try

(

MthrownewException("执行失败");

。}

catch(Exception$ex)

(

aechoSex;

。}

字符串解决

stringtrim(Heee")trim('ffffe','e')//1trimrtrim

®arrayexplode(".fff.ff.f1)按指定字符切割

stringimplode(".",$array)别名:join把数组值数据按指定字符连接起来

arraystr_split("eeeeeeee",4)按长度切割字符串

arraysplit(M-H,”fff-ff-fH)按指定字符切割

intstrlen(*ffffffff7)取字符长度

◎stringsubstr(string$string,int$start[,int$1ength])

substr($a,-2,2)截取字符

intsubstr_count($text,'is')字符串出现的次数

»stringstrstr($text,'h')第一次出现h后的字符串//别名:strchr

intstrpos($text,'h')第一次出现h的位置

fistrrpos();最后一次出现h的位置

str_replaceCa7,W,$t)把$t里的替换为'ttt'

strtr($t,fis,/ppp*)把$t中,is'替换成'ppp,

strtr(Hhiall,Isaidhello',,array(nhel1on=>"hi"))把,he

Ho转换成,hi'

°stringmd5—file(r1.txt*,false)文献数据md5加密

intstrcmp(stringstrl,stringsti*2)字符串比较

°intstrcaseemp(stringstrl,stringstr2)忽略大小写

stringstr_pad($i,10,”STR_PAD_LEFT)在原字符左边补,-二,,直到新字符

串长度为10

STR_PAD_RIGHT

STR_PAD_BOTH

stringstr_repeat(T,5)反复5个1

voidparse_str(*id=11z);echo$id;将字串符解析为变量

如raypreg_grep(7A(\d+)?\.\d+$/",array(11.2,11,11.2))匹配数据

arraypreg_split(7[\s,]+/“,"hypertextlanguage,programming");

按指定的字符切割

°arraypathinfo(stringpath[,intoptions])返回文献途径的信息

stringbasename(stringpath[,stringsuffix])返回途径中的文献名

部分

astringdirname(stringpath)$_SERVER[PHP_SELF]返回途径中的目录部分

stringn12br("fooisn*t\nbar")nfooisnrt<br>bar"把换行转成Vbr>

*»stringchr(intascii)*

mixedstr_word_count(stringstring[,intformat[,string

charlist]])

ostringstr_shuffle('abc')打乱字符串顺序

°stringstrrev($str)*翻转一个字符串

stringstrto1ower($str)*将字符串$str的字符所有转换为小写的

stringstrtoupper($str)*将字符串$str的字符所有转换为大写的

stringucfirst($str)*将字符串$«r的第一个单词的首字母变为大写。

stringucwords($str)*将字符串$str的每个单词的首字母变为大

写。

stringaddslashes(HI'm")I\fm使用反斜线引用字符串这些字符是单引

号(')、双引号(")、反斜线(\)与NUL(NULL字符)

stringstripcslashes("I\'m")Vm将用addslashes()函数解决后的字符串返回

原样

ostrip_tags(H<p>tt</p>u,,<p>')去除html、xml、php标记,第二个参数用来保

存标记

“tringur1encode(stringstr)

ostringurIdecode(stringstr)

stringhtm1specialchars("<ahref='test*>Test</a>n,ENT_QUOTE

S)转换特殊字符为HTML字符编码

。&1t;ahref='test';>Test</a>;

ENT_COMPAT-对双引号进行编码,不对单引号进行编码

。ENT_QUOTES-对单引号和双引号进行编码

。。ENT_NOQUOTES-不对单引号或双引号进行编码

stringhtmlentities<p>ff</p>>,ENT_QUOTES)转换特殊字符为HTML

字符编码,中文会转成乱码

数组解决

ointcount(mixedvar[,intmode])别名:sizeof()取数组长度

stringimplode$array)别名:join把数组值数据按指定字符连接起

•arrayexplode(".","fff.ff.f)按指定字符切割

arrayrange(0,6,2)返回数组array(0,2,4,6)第一个参数为起使数涕二个

参数为结束数,第三个参数为数据增长步长

»intarray_push($a,"3",1)把3、T压入$a,将一个或多个单元压入数组的末尾(入

栈),第二个参数开始就是压入的数据

voidunset(mixedvar[,mixedvar[,...]])

•arrayarray_pad($a,5,'s')用's'将数组填补到指定长度

0boo1shuffle(array$array)将数组打乱

•mixedarray_rand(arrayinpul[,intnum_req])从数组中随机取出一个或多个单

元的索引或键名

arrayarray_count_values(arrayinput)记录数组中所有的值出现的次数

arrayarray_combine(arraykeys,arrayvalues)仓ij建一个数组,

用一个数组的值作为其键名,另一个数组的值作为其值

•boo1array_key_exists(mixedkey,arraysearch)检查给定的键名或索引是否存在于数

组中

mixedarray_search(mixedneedle,arrayhaystack[,boo1s

triet])在数组中搜索给定的值,假如成功则返回相应的键名

boo1is_array(mixedvar)

boolin_array(mixedneedie,arrayhaystack[,boolstrict])检

查数组中是否存在某个值

^numberarray_sum(arrayarray)计算数组中所有值的和

◎arrayarray_unique(arrayarray)移除数组中反复的值

mixedreset(array&array)将数组的内部指针指向第一个单元

mixedcurrent(array&array)

mixednext(array&array)

®mixedprev(array&array)

<>mixedend(array&array)

mixedkey(array&array)

arrayarray_keys(arrayinput[,mixedsearch_value[,bool

strict]])返回数组中所有的键名

arrayarray_values(anayinput)返回数组中所有的值

boolprint—r(mixedexpression[,boolreturn])

voidvar_dump(mixedexpression[,mixedexpression)

“ntarray_unshift(array&array,mixedvar[,mixed…])在数组开头插入一个

或多个单元

omixedarray_shift(array&array)将数组开头的单元移出数组

mixedarray_pop(array&array)将数组最后一个单元弹出(出栈)

rrayarray_sp1ice(array$input,intoffset[,intlength[,arrayrep1a

cement]])把数组中的一部分去掉并用其它值取代

rrayarray_merge(arrayarray1L,arrayarray2[,array...]])合并

一个或多个数组

arrayarray_flip(arraytrans)互换数组中的键和值

intextract(arrayvar_array[,intextract_type[,string

prefix]])从数组中将变量导入到当前的符号表

oarraycompact(mixedvamame[,mixed...])建立一个数组,涉及变量名和它们

的值

4x)olsort(array&array[,intsort_f1ags])从最低到最高重新安排

◎boolnatsort($a)用“自然排序”算法对数组排序

b001rsort(array&array[,intsort_flags])对数组进行逆向排序(最高到最

低)

boolasort(array&arrayL,intsort_f1ags])对数组进行排序并保持索引关

boolarsort(array&array[,intsort_f1ags])对数组进行逆向排序并保持

索引关系

©boolksort(array&array[,intsort_flags])对数组按照键名排序

boolkrsort(array&array[,intsort_f1ags])对数组按照键名逆向排序

rrayarray_filter(arrayinput[,ca1lbackcallback])用回调函数过滤

数组中的单元

boo1array_walk(array&array,callbackfuncname[,mixed

userdata])对数组中的每个成员应用用户函数

rrayarray_map(callbackcal1back,arrayarrl[,array...])将回调函

数作用到给定数组的单元上

arrayarray_fill(intstart_index,intnum,mixedvalue)用给定的值填

充数组

array^fill(5,3,'a')-->array(5=>'a,,6=>'a;7=>'a,)

®arrayarray_chunk(arrayinput,intsize[,boo1preserve_keys])将一个数组

分割成多个

其他

isset()变量是否存在

booleanempty。检查变量是否存在,并判断值是否为非空或非0

voidunset()销毁变量

header(*Content-Type:text/html;charset=utf-8');

method_exists($obj,$method)。判断对象的方法是否可用

fi1e_exists($file)判断文献是否存在

ofunction_exists();

«class_exists($c1ass_name);

gettype();获取数据类型

set_magic_quotes_runtime()0foroff,1foron当碰到反斜杆、单引

号,将会自动加上一个反斜杆,保护系统和数据库的安全

ini_set();

安全

。functionstrReplace($str)

。{

。$strResu1t=$str;

°if(!get_magic_quotes_gpc())〃判断设立是否启动

0{

$strResult=adds1ashes($strResu1t);〃转换sql语句特殊字符

。}

。return$strResuit;

0)

ofunctionquotes($content)

〃假如magic_quotes_gpc=Off,那么就开始解决

。if(!get_magic_quotes_gpc())

00|

。〃判是否为数组

“if(is_array($content))

0001

。“//假如$content是数组,那么就解决它的每一个单无

ggforeach($contentas$key=>$va1ue)

00{

$content[$key]=adds1ashes($va1u

e);

0)

)

eIse

00{

。〃假如$content不是数组,那么就仅解决一次

•ooaddslashes($content);

)

00|

。//返回$content

oreturn$content;

)

smarty

。模板引擎将不分析

<!-{litera1}-->

<script>

。6funetiont(){

00j

。</script>

<!--{/literal}->

。读取配置文献

!—{configjoadfile=nconfig.s

。。<!■一{#site_url#}->

。<!--{$smarty.config.site_url}-->

。引入文献

。<!--{inc1udefile=Mindex2.html"}—>

g<!—_{include_phpfile=*7path/to/1oad_nav.phpu}—>$trusted_dir

指定目录下的文献

捕获模板输出的数据

。<!"-{capturename-eee,}—>

0fffffffff

。<!"-{/capture}-->

。<!-{$smarty.capture.eee}-->

。循环

8V{sectionname=looploop=$News_IN}>

。<{$NewsJN[loop].NewsID)>

。<{/section}>

<!—{sectionname=t1oop=$data}-->

<tr>

<td><!--{$data[t].username}--></td>

00</tr>

«<!--{/section)—>

<{foreachfrom=$newsArrayitem=newsIDkey=k}>

。o新闻编号:<{$newsID.newslD}><br>

。。新闻内容:V{$newsID.newsTitle}><br><hr>

<{/foreach}>

判断

oo<!--{iftrue}—>

1111

<!--{else}->

。22222222

°<!——{/if)-->

。时间

oo{$smarty.now|date.format:n%Y-%m-%d%H:%M:%S”}

。%丫年%1^1月%€1日舌L码

o<!--{$smarty.now|date_format:n%Y年%01月%(1日%H时%1^4

分%5秒”}

。修改插件:plugins/modifier.date_format.php

$format=mb_convert_encoding($format/gbk','utf-8*);

。。returnmb_convert_eneoding(strftime($format,Stimestamp),'utf-

8-'gbk1);

局部不缓存

ohtml:

<!-{$smarty.now|date_format:n%Y-%m-%d%H:%M:%S”}-

—>

。<!—{cachelessa=Maaa"b=',bbbbH}—>

oodt><!—{$smarty.now|date_format:"%Y-%m-%d%H:%M:%S”>

M<!-----{/cacheless)-->

oophp:

$smarty->register_block('cacheless','smarty_block_dynam

ic',false);//true:缓存,false:不缓存

functionsmarty_block_dynamic($param,$content,&$sma

rty)

00{

8。。return$content;

00}

8php:

。functioninsert—kk()〃方法名前必须有“insert"

06{

returndate('Y-m-dH:i:s*);

00}

。htm1:

®6<!—{insertname二“kk"}—>

。自定义方法

。注册方法

Php

。。smarty->register_function(*testl',rtest');

“gfunctiontest($p)

return'ffffffffff;

)

oohtml:

<!—{testlname=nff'*}—>

方法自定义

。。插件文献方式定义方法

。。川function.test.php文献存在plugins目录下,方法名:smarty_funetion_test

($params,&$smarty)

。。ofunctionsmarty_function_test($params,&$smarty)

000{

。oreturn'fff;

°}

himl调用:

。。<!--{testname='aa'p='ff}—>

。插入方法

。。插件文献:insert.kk.php文献存于plugins目录下

"functionsmarty_insert_kk()

000{

oooooreturndate('Y-m-dH:i:s');

000)

叩hp:

H

Mfunctioninsert_kk()//方法名前必须有”insert

000{

00ooreturndate('Y-m-dH:i:s*);

000J

。html:

。«<!"—{insertname=ukkH}—>

。管道符自定义方法

插件文献方式定义方法

。^modifier.test.php文献存在于plugins目录下,方法名:functionsmarty_mod

ifier_test($str,$str2)

ofunctionsmarty_modifier_test($str,$str2)

00{

。。。return$str.$str2;

6)

“ohtm1调用:

o<!--{'ffltest:'tf}->

Php:

。。functioneee($a)

。(

。ooreturn'ffffff;

00I

ahtm1:

。。<!-{*'I@eee}—>

if语句

eq相等,

one、neq不相等,

gt大于

Mgte>ge大于等于,

he、le小于等于,

onot非,mod求模。

°is[not]divby是否能被某数整除,

。is[not]even是否为偶数,

$ais[not]evenby$b即($a/$b)%2==0

®is[not]odd是否为奇

«$aisnotoddby$bBP($a/$b)%2!=0

XML

sax

。xml:

<-----?xmlversion二"1.0"encoding="utf-8*'?->

books>

g<book>

。<author>JackHerrington</author>

♦<title>PHPHacks</title>

。<publisher>0'Rei11y</pub1isher>

。。</book>

o<book>

®<author>JackHerrington</author>

。。<ti11e>PodcastingHacks</tit1e>

。<publisher>O'Rei1ly</publisher>

。。V/book>

<book>

<author>作者V/author>

3Vtit1e>标题v/title>

。<pub1isher>出版者v/publisher>

</book>

</books>

php:

$g_books=array();

$g_elem=nu11;

。functionstartE1ement($parser,$name,$attrs)

{

globa1$g_books,$g_elem;

if($name=='BOOK')$g_books[J=array();

。$g_elem=$name;

)

functionendE1ement($parser,$name)

(

og1obal$g_elem;

。$g_elem=nu11;

°}

functiontextData($parser,$text)

(

global$g_books,$g_elem;

。if($g_elem==AUTHOR||

ooo$g_elem'PUBLISHER'||

$g_elem==TITLE')

。$g_books[count($g_books)-1][$g_elem]=$t

ext;

6}

0)

$parser=xml_parser_ereate();

。xml_set_e1ement_handler(Sparser,"startElement","endElemen

t”);

。。xml_set_character_data_handler($parser,MtextData*');

$f=fopen('1.xml','r');

。while($data=fread($f,4096))

6{

xml_parse($parser,$data);

0)

axm1_parser_free(Sparser);

。foreach($g_booksas$book)

0{

oecho$book[TITLE]”-n.$book['AUTHOR']."-H;

。echo$book['PUBLISHER']."<br>";

DomDocument()

«»xm1:

<-—?xmlversion="1.0"encoding='*utf—8"?-->

®<books>

<book>

。。。<author>JackHerrington</author>

。e<title>PHPHacks</tit1e>

。。<publisher>O'Rei11y</publisher>

</book>

<book>

。<author>JackHerrington</author>

。<title>PodcastingHacks</1itle>

<pub1isher>O'Reil1y</publisher>

</book>

<book>

。。<authoi>作者</author>

3g<title>标题</title>

o<publisher>出版者</publisher>

</book>

o</books>

php读取:

$doc=newDOMDocument();

。$doc—>load(nl.xmlu);

。$books=$doc->getE1ementsByTagName("booku);

foreach($booksas$book)

$authors=$book->getElementsByTagName("autho

r”);

$author=$authors->item(0)->nodeVa1ue;

g$publishers=$book->getElementsByTagName("publishe

rn);

。$publisher=$pub1ishers->item(0)->nodeVaiue;

o$titles=$book->getE1ementsByTagName(ntitle");

。。。$tit1e=$tit1es->item(0)->nodeVa1ue;

。。echo"$tit1e—$author-$publisher<br>H;

)

php生成:

。。。$books=array();

books[]=array(

。。8‘title'=>'PHPHacks',

。。。'author1=>*JackHerrington\

o1publisher'=>"O'Reilly”

008)*

。©$books[]=array(

“'title'=>PodcastingHacks\

og'author'=>'JackHerrington',

。。'pub1isher'=>M0'Reilly1'

);

。$doc=newD0MDocument();

$doc->formatOutput=true;

$r=$doc->createE1ement("books");

g$doc->appendChi1d($r);

foreach($booksas$book)

°(

g$b=$doc->createElement("book”);

。。。$author=$doc->createElement(Uauthor");

o$author—>appendChiId($doc->createTextNode($book[*autho

rl));

。o$b—>appendChi1d($author);

oo=$doc—>createE1ement(Mtitie");

。$title—>appendChild($doc->createTextNode($book['tit

1e-]));

«$b->appendChild($titie);

$pub1isher=$doc->createElement("publisher");

。$pub1isher->appendChild($doc->createTextNode($book

[fpublisher*]));

ow$b->appendChi1d($publisher);

。$r->appendChild($b);

°)

echo$doc—>saveXML();

。echo$doc->save('222.xmlz);

SimpleXML

xml:

<books>

。<book>

。。<author>JackHerrington</author>

。。<tit1e>PHPHacks</title>

。<publisher>O'Rei11yV/publisher>

。。</book>

"V/books>

。php:

o$xml=newSimpleXMLElement(1l.xml',NULL,TRUE);

e®echo$xm1—>book[0]->author.*'___$xml->book[01—>titie.*'______u.$xml->boo

k[0]->pub1isher;

正则

ereg系列的正则表达式不需要定届符,Preg系列的才需要,并且定界符可以自己

选择,只有前后一对就行,比如我们一般使用/符号,但是假如里面有/需要匹配那么就需要使

H1V来表达,当/需要出现多次的时候,这样就不方便,我们就可以使用其他的定界符,比如I

正则特殊字符

。.\+*?[八]$(){}=!<>|:

由原子(普通字符,如英文字符)、

元字符(有特殊功用的字符)

模式修正字符

一个正则表达式中,至少包含一个原子

所有符号解释

\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或

一个八进制转义符。例如,'鼠匹配字符"n".'\n,匹配一个换行符。序列'W匹配"\"

而则匹配

-匹配输入字符串的开始位置。假如设立了RegExp对象的Muiti1ine属

性,人也匹配''n,或'\r’之后的位置。

$匹配输入字符串的结束位置。假如设立了RegExp对象的Multiline属性,$也匹

配、n'或,'之前的位置。

*匹配前面的子表达式零次或多次。例如,zo*能匹配"z"以及“zoo"。*等价于

{0,}»

+匹配前面的子表达式一次或多次。例如,'ZO+,能匹配"zo"以及"z。。",

但不能匹配"z"°+等价于{1,}。

?匹配前面的子表达式零次或一次。例如,"do(es)?"可以匹配"do"或"does”中

的"do".?等价于{0,1}。

{n}n是一个非负整数。匹配拟定的n次。例如,'o{2}'不能匹配"Bob

"中的'o',但是能匹配"food"中的两个o。

{n,}n是一个非负整数。至少匹配n次。例如,b{2,『不能匹配"Bob"中的

'o',但能匹配"foooood"中的所有o。'等价于’0+'。'o{0,}'则等价于'0*'。

{n,m}m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。

例如,"o{1,3}"将匹配"fooooood"中的前三个0。'o{0,l}'等价于P?\请注旨在逗号

和两个数之间不能有空格。

?当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})

后面时,匹配模式是非贪婪的。非贪婪模式尽也许少的匹配所搜索的字符串,而默认的贪婪模

式则尽也许多的匹配所搜索的字符串。例如,对于字符串"。。。。”,'。+?,将匹配单个"0",

而将匹配所有'o'。

.匹配除“\n"之外的任何单个字符。要匹配涉及W在内的任何字符,请使用象

'的模式。

(pattern)匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matehes

集合得到,在VBScript中使用SubMatches集合,在JSeript中则使用$0…$9属

性。要匹配圆括号字符,请使用'\(,或'\))

(?:pattern)匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不

进行存储供以后使用。这在使用"或"字符(|)来组合一个模式的各个部分是很有用。例

如,‘industr(?:yIies)就是一个比'industry|industries'更简略的表达式。

(?=pattern)正向预查,在任何匹配pattern的字符串开始处匹配查找字符串。这

是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,'Windows(?=95|9

8|NT|2023),能匹配"Windows2023"中的"Windows",但不能匹配"Windows3.

1"中的"Windows"o预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之

后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

(?!pattern)负向预查,在任何不匹配pattem的字符串开始处匹配查找字符串。

这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows

(?!95I98|NT|2023),能匹配"Windows3.1"中的"Windows",但不能匹配"Windows

2023"中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹

配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始

xIy匹配x或y。例如,'z|food'能匹配"z"或"food"'(z|f)oodr

则匹配"zood"或"food"。

Ixyz]字符集合。匹配所包含的任意一个字符。例如,'[abc]'可以匹配"pl

ain"中的'a'。

["xyz]负值字符集合。匹配未包含的任意字符。例如,Rabe]'可以匹

配"plain"中的7。

La-z]字符范围。匹配指定范围内的任意字符。例如,'[a-z]'可以匹配'a,到

2'范围内的任意小写字母字符。

[Aa-z]负值字符范围。匹配任何不在指定范围内的任意字符。例如z]'可

以匹配任何不在宜到Z'范围内的任意字符。

\b匹配一个单词边界,也就是指单词和空格间的位置。例如,,er\b,可以匹配"

never"中的'er',但不能匹配"verb"中的'er'。

\B匹配非单词边界。'er\B'能匹配"verb"中的'er',但不能匹配"never"中

的'erz»

\cx匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车

符。x的值必须为A-Z或a—z之一。否则,将c视为一个原义的C字符。

\d匹配一个数字字符。等价于[0-9]o

\D匹配一个非数字字符。等价于「0-9]。

\f匹配一个换页符。等价于\x0c和\cLo

\n匹配一个换行符。等价于\x0a和\cJ。

\r匹配一个回车符。等价于\x0d和\cM。

\s匹配任何空白字符,涉及空格、制表符、换页符等等。等价于[\f\n\r

\t\v]。

\S匹配任何非空白字符。等价于M\f\n\r\t\v]。

\t匹配一个制表符。等价于\x09和\cI。

\v匹配一个垂直制表符。等价于\xOb和\cK。

\w匹配涉及下划线的任何单词字符。等价于1A-Za-zO-9

\W匹配任何非单词字符。等价于,厂A-Za-z0-9_]'»

\xn匹配n,其中n为十六进制转义值。十六进制转义值必须为拟定的两个数字

长。例如,'\x41'匹配“A"°、x041'则等价于“04'&"1"。正则表达式中可以使用

ASCII编码。.

\nurn匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,'

(.)\1'匹配两个连续的相同字符。

\n标记一个八进制转义值或一个向后引用。假如\n之前至少n个获取的子表

达式,则n为向后引用。否则,假如n为八进制数字(0-7),则n为一个八进制转

义值。

\nm标记一个八进制转义值或一个向后引用。假如\nm之前至少有

nm个获得子表达式,则nm为向后引用。假如\nm之前至少有n个获取,则n为一个后

跟文字m的向后引用。假如前面的条件都不满足,若n和m均为八进制数字(0-

7),则\nm将匹配八进制转义值nm。

\nml假如n为八进制数字(0-3),且m和1均为八进制数字(0-7),则匹

配八进制转义值nm1,

\un匹配n,其中n是一个用四个十六进制数字表达的Unicode字符。例如,\u00

A9匹配版权符号(?)。

例子

Ab([a—z]+)\b/i单词数量

/(\w+):W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论