欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

以前收集到的PHP总结笔记

程序员文章站 2022-06-17 13:46:28
...

0002 其他

0003 isset() 变量是否存在

0004 boolean empty() 检查变量是否存在,并判断值是否为非空或非0

0005 void unset() 销毁变量

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

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

0008 file_exists($file) 判断文件是否存在

0009 function_exists();

0010 class_exists($class_name);

0011 gettype();获取数据类型

0012 set_magic_quotes_runtime() 0 for off, 1 for on 当遇到反斜杆、单引号,将会自动加上一个反斜杆,保护系统和数据库的安全

0013 ini_set();

0014

0015 安全

0016 function strReplace($str)

0017 {

0018 $strResult = $str;

0019 if(!get_magic_quotes_gpc())//判断设置是否开启

0020 {

0021 $strResult = addslashes($strResult);//转换sql语句特殊字符

0022 }

0023 return $strResult;

0024 }

0025

0026

0027 function quotes($content)

0028 {

0029 //如果magic_quotes_gpc=Off,那么就开始处理

0030 if (!get_magic_quotes_gpc())

0031 {

0032 //判断$content是否为数组

0033 if (is_array($content))

0034 {

0035 //如果$content是数组,那么就处理它的每一个单无

0036 foreach ($content as $key=>$value)

0037 {

0038 $content[$key] = addslashes($value);

0039 }

0040 }

0041 else

0042 {

0043 //如果$content不是数组,那么就仅处理一次

0044 addslashes($content);

0045 }

0046 }

0047 //返回$content

0048 return $content;

0049 }

0050

0051 编码转换

0052 string mb_convert_encoding ( string $str , string $to_encoding [, mixed $from_encoding ] )

0053 iconv();

0054

0055 时间

0056 date_default_timezone_set("PRC");

0057 date("Y-m-d H:i:s");

0058 time();

0059 date("Y-m-d H:i:s",time()+3600)

0060 ini_set('date.timezone', 'PRC');

0061 msec sec microtime() 以秒返回时间戳 explode(' ', microtime())

0062

0063 魔术方法

0064 __construct() 当实例化一个对象的时候,这个对象的这个方法首先被调用。

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

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

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

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

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

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

0071 __isset()

0072 __unset()

0073 __autoload($classname)

0074 __sleep()

0075 __wakeup()

0076

0077 系统常量

0078 __FILE__ 当前文件名

0079 __LINE__ 当前行数

0080 __FUNCTION__ 当前函数名

0081 __CLASS__ 当前类名

0082 __METHOD__ 当前对象的方法名

0083 PHP_OS 当前系统

0084 PHP_VERSION php版本

0085 DIRECTORY_SEPARATOR 根据系统决定目录的分隔符 /\

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

0087 E_ERROR 1

0088 E_WARNING 2

0089 E_PARSE 4

0090 E_NOTICE 8

0091 M_PI 3.141592

0092 $_SERVER

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

0094 $_GET

0095 $_POST

0096 $_REQUEST

0097 $_FILES

0098 $_COOKIE

0099 $_SESSION

0100 $_GLOBALS

0101

0102 输出

0103 echo //Output one or more strings

0104 print //Output a string

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

0106 var_dump() //打印变量的相关信息

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

0108 printf("%.1f",$num) //Output a formatted string

0109 sprintf() //Return a formatted string

0110

0111 错误处理

0112 @1/0

0113 error_reporting(E_ALL) 显示所有错误

0114 error_reporting(0)

0115 trigger_error("Cannot divide by zero", E_USER_ERROR);

0116 try

0117 {

0118 throw new Exception("执行失败");

0119 }

0120 catch (Exception $ex)

0121 {

0122 echo $ex;

0123 }

0124

0125 字符串处理

0126 string trim("eee ") trim ('ffffe','e') //ltrim rtrim

0127 array explode(".", "fff.ff.f") 按指定字符切割

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

0129 array str_split("eeeeeeee",4) 按长度切割字符串

0130 array split("-","fff-ff-f") 按指定字符切割

0131 int strlen('ffffffff') 取字符长度

0132 string substr ( string $string , int $start [, int $length ] )

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

0134 int substr_count($text, 'is') 字符串出现的次数

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

0136 int strpos($text, 'h') 第一次出现h的位置

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

0138 str_replace('a', 'ttt', $t) 把$t里的'a'替换为'ttt'

0139 strtr($t,'is','ppp') 把$t中'is'替换成'ppp'

0140 strtr("hi all, I said hello", array("hello" => "hi")) 把'hello'转换成'hi'

0141 string md5_file('1.txt',false) 文件数据md5加密

0142 int strcmp(string str1, string str2) 字符串比较

0143 int strcasecmp(string str1, string str2) 忽略大小写

0144 string str_pad($i, 10, "-=", STR_PAD_LEFT) 在原字符左边补'-=',直到新字符串长度为10

0145 STR_PAD_RIGHT

0146 STR_PAD_BOTH

0147 string str_repeat('1', 5) 重复5个1

0148 void parse_str('id=11'); echo $id; 将字串符解析为变量

0149 array preg_grep("/^(\d+)?\.\d+$/", array(11.2,11,11.2)) 匹配数据

0150 array preg_split ("/[\s,]+/", "hypertext language,programming"); 按指定的字符切割

0151 array pathinfo(string path [, int options]) 返回文件路径的信息

0152 string basename ( string path [, string suffix] ) 返回路径中的文件名部分

0153 string dirname ( string path ) $_SERVER[PHP_SELF] 返回路径中的目录部分

0154 string nl2br("foo isn't\n bar") "foo isn't
bar" 把换行转成

0155 string chr ( int ascii ) *

0156 mixed str_word_count ( string string [, int format [, string charlist]] )

0157 string str_shuffle ('abc') 打乱字符串顺序

0158 string strrev($str) * 翻转一个字符串

0159 string strtolower($str) * 将字符串 $str 的字符全部转换为小写的

0160 string strtoupper($str) * 将字符串 $str 的字符全部转换为大写的

0161 string ucfirst ($str) * 将字符串 $str 的第一个单词的首字母变为大写。

0162 string ucwords($str) * 将字符串 $str 的每个单词的首字母变为大写。

0163

0164 string addslashes("I'm") I\'m 使用反斜线引用字符串 这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)

0165 string stripcslashes("I\'m") I'm 将用addslashes()函数处理后的字符串返回原样

0166 strip_tags("

tt

", '

') 去除html、xml、php标记,第二个参数用来保留标记

0167 string urlencode(string str)

0168 string urldecode(string str)

0169 string htmlspecialchars("Test", ENT_QUOTES) 转换特殊字符为HTML字符编码

0170 <a href='test'>Test</a>

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

0172 ENT_QUOTES –对单引号和双引号进行编码

0173 ENT_NOQUOTES –不对单引号或双引号进行编码

0174 string htmlentities('

ff

', ENT_QUOTES) 转换特殊字符为HTML字符编码,中文会转成乱码

0175

0176 数组处理

0177 int count( mixed var [, int mode] ) 别名:sizeof() 取数组长度

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

0179 array explode(".", "fff.ff.f") 按指定字符切割

0180 array range(0, 6, 2) 返回数组 array(0,2,4,6) 第一个参数为起使数,第二个参数为结束数,第三个参数为数据增加步长

0181 int array_push($a, "3", 1) 把'3'、'1'压入$a,将一个或多个单元压入数组的末尾(入栈),第二个参数开始就是压入的数据

0182 void unset ( mixed var [, mixed var [, ...]] )

0183 array array_pad ($a, 5, 's')用's'将数组填补到指定长度

0184 bool shuffle ( array $array ) 将数组打乱

0185 mixed array_rand ( array input [, int num_req] )从数组中随机取出一个或多个单元的索引或键名

0186 array array_count_values ( array input )统计数组中所有的值出现的次数

0187 array array_combine ( array keys, array values ) 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

0188 bool array_key_exists ( mixed key, array search )检查给定的键名或索引是否存在于数组中

0189 mixed array_search ( mixed needle, array haystack [, bool strict] )在数组中搜索给定的值,如果成功则返回相应的键名

0190 bool is_array ( mixed var )

0191 bool in_array ( mixed needle, array haystack [, bool strict] )检查数组中是否存在某个值

0192 number array_sum ( array array )计算数组中所有值的和

0193 array array_unique ( array array )移除数组中重复的值

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

0195 mixed current ( array &array )

0196 mixed next ( array &array )

0197 mixed prev ( array &array )

0198 mixed end ( array &array )

0199 mixed key ( array &array )

0200 array array_keys ( array input [, mixed search_value [, bool strict]] ) 返回数组中所有的键名

0201 array array_values ( array input ) 返回数组中所有的值

0202 bool print_r ( mixed expression [, bool return] )

0203 void var_dump ( mixed expression [, mixed expression [, ...]] )

0204 int array_unshift ( array &array, mixed var [, mixed ...] )在数组开头插入一个或多个单元

0205 mixed array_shift ( array &array )将数组开头的单元移出数组

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

0207 array array_splice ( array $input, int offset [, int length [, array replacement]] ) 把数组中的一部分去掉并用其它值取代

0208 array array_merge ( array array1 [, array array2 [, array ...]] )合并一个或多个数组

0209 array array_flip ( array trans )交换数组中的键和值

0210 int extract( array var_array [, int extract_type [, string prefix]] ) 从数组中将变量导入到当前的符号表

0211 array compact ( mixed varname [, mixed ...] ) 建立一个数组,包括变量名和它们的值

0212 bool sort ( array &array [, int sort_flags] )从最低到最高重新安排

0213 bool natsort($a) 用“自然排序”算法对数组排序

0214 bool rsort ( array &array [, int sort_flags] )对数组进行逆向排序(最高到最低)

0215 bool asort ( array &array [, int sort_flags] )对数组进行排序并保持索引关系

0216 bool arsort ( array &array [, int sort_flags] ) 对数组进行逆向排序并保持索引关系

0217 bool ksort ( array &array [, int sort_flags] )对数组按照键名排序

0218 bool krsort ( array &array [, int sort_flags] )对数组按照键名逆向排序

0219 array array_filter ( array input [, callback callback] ) 用回调函数过滤数组中的单元

0220 bool array_walk ( array &array, callback funcname [, mixed userdata] ) 对数组中的每个成员应用用户函数

0221 array array_map ( callback callback, array arr1 [, array ...] )将回调函数作用到给定数组的单元上

0222 array array_fill ( int start_index, int num, mixed value ) 用给定的值填充数组

0223 array_fill(5, 3, 'a')-->array(5=>'a',6=>'a',7=>'a')

0224 array array_chunk ( array input, int size [, bool preserve_keys] )将一个数组分割成多个

0225

0226 smarty

0227 模板引擎将不分析

0228

0229

0230 function t() {

0231 }

0232

0233

0234 读取配置文件

0235

0236

0237

0238 引入文件

0239

0240 $trusted_dir 指定目录下的文件

0241 捕获模板输出的数据

0242

0243 fffffffff

0244

0245

0246 循环

0247

0248

0249

0250

0251

0252

0253

0254

0255

0256

0257

0258 新闻编号:

0259 新闻内容:


0260

0261 判断

0262

0263 1111

0264

0265 22222222

0266

0267 时间

0268 {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}

0269 %Y年%m月%d日 乱码

0270

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

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

0273 return mb_convert_encoding(strftime($format, $timestamp),'utf-8','gbk');

0274

0275 局部不缓存

0276 html:

0277

0278

0279

0280

0281 php:

0282 $smarty->register_block('cacheless', 'smarty_block_dynamic', false);//true:缓存,false:不缓存

0283 function smarty_block_dynamic($param, $content, &$smarty)

0284 {

0285 return $content;

0286 }

0287

0288 php:

0289 function insert_kk()//方法名前必须有"insert"

0290 {

0291 return date('Y-m-d H:i:s');

0292 }

0293 html:

0294

0295 自定义方法

0296 注册方法

0297 php

0298 $smarty->register_function('test1', 'test');

0299 function test($p)

0300 {

0301 return 'ffffffffff';

0302 }

0303 html:

0304

0305 ------------------------------------------------

0306 方法自定义

0307 插件文件方式定义方法

0308 function.test.php 文件存在plugins目录下,方法名:smarty_function_test($params, &$smarty)

0309 function smarty_function_test($params, &$smarty)

0310 {

0311 return 'fff';

0312 }

0313 html调用:

0314

0315 ----------------------------------------------------

0316 插入方法

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

0318 function smarty_insert_kk()

0319 {

0320 return date('Y-m-d H:i:s');

0321 }

0322 php:

0323 function insert_kk()//方法名前必须有"insert"

0324 {

0325 return date('Y-m-d H:i:s');

0326 }

0327 html:

0328

0329 -------------------------------------------------

0330 管道符自定义方法

0331 插件文件方式定义方法

0332 modifier.test.php 文件存在于plugins目录下,方法名: function smarty_modifier_test($str, $str2)

0333 function smarty_modifier_test($str, $str2)

0334 {

0335 return $str.$str2;

0336 }

0337 html调用:

0338

0339

0340 php:

0341 function eee($a)

0342 {

0343 return 'ffffffffffffff';

0344 }

0345 html:

0346

0347 if语句

0348 eq相等,

0349 ne、neq不相等,

0350 gt大于

0351 gte、ge大于等于,

0352 lte、le 小于等于,

0353 not非, mod求模。

0354 is [not] div by是否能被某数整除,

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

0356 $a is [not] even by $b 即($a / $b) % 2 == 0

0357 is [not] odd是否为奇

0358 $a is not odd by $b即($a / $b) % 2 != 0

0359

0360 XML

0361 sax

0362 xml:

0363

0364

0365

0366 Jack Herrington

0367

PHP Hacks

0368 O'Reilly

0369

0370

0371 Jack Herrington

0372

Podcasting Hacks

0373 O'Reilly

0374

0375

0376 作者

0377

标题

0378 出版者

0379

0380

0381 php:

0382 $g_books = array();

0383 $g_elem = null;

0384

0385 function startElement( $parser, $name, $attrs )

0386 {

0387 global $g_books, $g_elem;

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

0389 $g_elem = $name;

0390 }

0391

0392 function endElement( $parser, $name )

0393 {

0394 global $g_elem;

0395 $g_elem = null;

0396 }

0397

0398 function textData( $parser, $text )

0399 {

0400 global $g_books, $g_elem;

0401 if ( $g_elem == 'AUTHOR' ||

0402 $g_elem == 'PUBLISHER' ||

0403 $g_elem == 'TITLE' )

0404 {

0405 $g_books[ count( $g_books ) - 1 ][ $g_elem ] = $text;

0406 }

0407 }

0408

0409 $parser = xml_parser_create();

0410

0411 xml_set_element_handler( $parser, "startElement", "endElement" );

0412 xml_set_character_data_handler( $parser, "textData" );

0413

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

0415

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

0417 {

0418 xml_parse( $parser, $data );

0419 }

0420

0421 xml_parser_free( $parser );

0422

0423 foreach( $g_books as $book )

0424 {

0425 echo $book['TITLE']." - ".$book['AUTHOR']." - ";

0426 echo $book['PUBLISHER']."
";

0427 }

0428 DomDocument()

0429 xml:

0430

0431

0432

0433 Jack Herrington

0434

PHP Hacks

0435 O'Reilly

0436

0437

0438 Jack Herrington

0439

Podcasting Hacks

0440 O'Reilly

0441

0442

0443 作者

0444

标题

0445 出版者

0446

0447

0448 php读取:

0449 $doc = new DOMDocument();

0450 $doc->load( "1.xml");

0451

0452 $books = $doc->getElementsByTagName( "book" );

0453 foreach( $books as $book )

0454 {

0455 $authors = $book->getElementsByTagName( "author" );

0456 $author = $authors->item(0)->nodeValue;

0457

0458 $publishers = $book->getElementsByTagName( "publisher" );

0459 $publisher = $publishers->item(0)->nodeValue;

0460

0461 $titles = $book->getElementsByTagName( "title" );

0462 $title = $titles->item(0)->nodeValue;

0463

0464 echo "$title - $author - $publisher
";

0465 }

0466 php生成:

0467 $books = array();

0468 $books [] = array(

0469 'title' => 'PHP Hacks',

0470 'author' => 'Jack Herrington',

0471 'publisher' => "O'Reilly"

0472 );

0473 $books [] = array(

0474 'title' => 'Podcasting Hacks',

0475 'author' => 'Jack Herrington',

0476 'publisher' => "O'Reilly"

0477 );

0478

0479 $doc = new DOMDocument();

0480 $doc->formatOutput = true;

0481

0482 $r = $doc->createElement( "books" );

0483 $doc->appendChild( $r );

0484

0485 foreach( $books as $book )

0486 {

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

0488 $author = $doc->createElement( "author" );

0489 $author->appendChild($doc->createTextNode( $book['author'] ));

0490 $b->appendChild( $author );

0491

0492 $title = $doc->createElement( "title" );

0493 $title->appendChild($doc->createTextNode( $book['title'] ));

0494 $b->appendChild( $title );

0495

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

0497 $publisher->appendChild($doc->createTextNode( $book['publisher'] ));

0498 $b->appendChild( $publisher );

0499 $r->appendChild( $b );

0500 }

0501

0502 echo $doc->saveXML();

0503 echo $doc->save('222.xml');

0504 SimpleXML

0505 xml:

0506

0507

0508 Jack Herrington

0509

PHP Hacks

0510 O'Reilly

0511

0512

0513 php:

0514 $xml = new SimpleXMLElement('1.xml', NULL, TRUE);

0515 echo $xml->book[0]->author."___".$xml->book[0]->title."___".$xml->book[0]->publisher;

0516

0517 正则

0518 ereg系列的正则表达式不需要定届符,preg系列的才需要,并且定界符可以自己选择,只有前后一对就行,比如我们一般使用/符号,但是如果里面有/需要匹配那么就需要使用\/来表示,当/需要出现多次的时候,这样就不方便,我们就可以使用其他的定界符,比如|

0519

0520

0521 正则特殊字符

0522 . \ + * ? [ ^ ] $ ( ) { } = ! | :

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

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

0525 模式修正字符

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

0527

0528 全部符号解释

0529 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。

0530 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。

0531 $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。

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

0533 + 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。

0534 ? 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。? 等价于 {0,1}。

0535 {n} n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。

0536 {n,} n 是一个非负整数。至少匹配n 次。例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。

0537 {n,m} m 和 n 均为非负整数,其中n

0538 ? 当该字符紧跟在任何一个其他限制符 (*, +, ?, {n}, {n,}, {n,m}) 后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串 "oooo",'o+?' 将匹配单个 "o",而 'o+' 将匹配所有 'o'。

0539 . 匹配除 "\n" 之外的任何单个字符。要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。

0540 (pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。

0541 (?:pattern) 匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。

0542 (?=pattern) 正向预查,在任何匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,'Windows (?=95|98|NT|2000)' 能匹配 "Windows 2000" 中的 "Windows" ,但不能匹配 "Windows 3.1" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。

0543 (?!pattern) 负向预查,在任何不匹配 pattern 的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Windows (?!95|98|NT|2000)' 能匹配 "Windows 3.1" 中的 "Windows",但不能匹配 "Windows 2000" 中的 "Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始

0544 x|y 匹配 x 或 y。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。

0545 [xyz] 字符集合。匹配所包含的任意一个字符。例如, '[abc]' 可以匹配 "plain" 中的 'a'。

0546 [^xyz] 负值字符集合。匹配未包含的任意字符。例如, '[^abc]' 可以匹配 "plain" 中的'p'。

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

0548 [^a-z] 负值字符范围。匹配任何不在指定范围内的任意字符。例如,'[^a-z]' 可以匹配任何不在 'a' 到 'z' 范围内的任意字符。

0549 \b 匹配一个单词边界,也就是指单词和空格间的位置。例如, 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'。

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

0551 \cx 匹配由 x 指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。

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

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

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

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

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

0557 \s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。

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

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

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

0561 \w 匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'。

0562 \W 匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。

0563 \xn 匹配 n,其中 n 为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,'\x41' 匹配 "A"。'\x041' 则等价于 '\x04' & "1"。正则表达式中可以使用 ASCII 编码。.

0564 \num 匹配 num,其中 num 是一个正整数。对所获取的匹配的引用。例如,'(.)\1' 匹配两个连续的相同字符。

0565 \n 标识一个八进制转义值或一个向后引用。如果 \n 之前至少 n 个获取的子表达式,则 n 为向后引用。否则,如果 n 为八进制数字 (0-7),则 n 为一个八进制转义值。

0566 \nm 标识一个八进制转义值或一个向后引用。如果 \nm 之前至少有 nm 个获得子表达式,则 nm 为向后引用。如果 \nm 之前至少有 n 个获取,则 n 为一个后跟文字 m 的向后引用。如果前面的条件都不满足,若 n 和 m 均为八进制数字 (0-7)