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 クラス_存在($クラス_名);
0011 gettype(); データ型を取得します0012 set_magic_quotes_runtime() オフの場合は 0、オンの場合は 1 バックスラッシュまたは一重引用符が出現すると、システムとデータベースのセキュリティを保護するためにバックスラッシュが自動的に追加されます
0013 ini_set();
0014
0015 セキュリティ
0016 関数 strReplace($str)
0017
0018 $strResult = $str;0019 if(!get_magic_quotes_gpc())//設定が有効かどうかを判断します
0020
0021 $strResult =addslashes($strResult);//SQL ステートメント内の特殊文字を変換します0022 }
0023 $strResult を返します。
0024 }
0025
0026
0027 関数引用符($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 を $key=>$value として)
0037
0038 $content[$key] =addlashes($value);
00390040 }
0041その他
0042
0043 //$content が配列でない場合、一度だけ処理されます0044 ラッシュ($content)を追加します
0045 }
0046 }
0047 //$content に戻る
0048 $content を返します。
0049 }
0050
0051コード変換
0052 string mb_convert_encoding ( string $str , string $to_encoding [,mixed $from_encoding ] )
0053アイコンv();
00540055時間
0056 date_default_timezone_set("PRC");
0057 date("Y-m-d H:i:s");
0058 時間();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 __ウェイクアップ()
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_エラー 10088 E_警告 2
0089 E_PARSE 4
0090 E_通知 8
0091 M_PI 3.141592
0092 $_サーバー
0093 $_ENV 実行環境によってスクリプトに送信される変数
0094 $_GET
0095 $_POST
0096 $_リクエスト
0097 $_FILES
0098 $_クッキー
0099 $_セッション
0100 $_GLOBALS
0101
0102出力
0103 echo //1つ以上の文字列を出力します
0104 print //文字列を出力する
0105 print_r() //変数に関するわかりやすい情報を出力します。
0106 var_dump() //変数関連情報を出力します
0107 var_export() //変数の文字列表現を出力または返します
0108 Printf("%.1f",$num) //フォーマットされた文字列を出力します
0109 sprintf() //フォーマットされた文字列を返す
0110
0111 エラー処理
0112 @1/0
0113 error_reporting(E_ALL) はすべてのエラーを表示します
0114 エラー報告(0)
0115trigger_error("ゼロで除算できません"、E_USER_ERROR);
0116 試してみる
0117
0118 throw new Exception("実行に失敗しました");0119 }
0120 catch (例外 $ex)
0121
0122 エコー $ex0123 }
0124
0125 文字列処理
0126 stringrim("eee")rim('ffffe','e') //ltrim rtrim
0127 arrayexplode(".", "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 arrayexplode(".", "fff.ff.f") 指定された文字に従って切り取ります
0180 array range(0, 6, 2) 戻り値 array array(0,2,4,6) 最初のパラメータは開始番号、2 番目のパラメータは終了番号、3 番目のパラメータはデータ増分ステップサイズです
0181 int array_push($a, "3", 1) '3' と '1' を $a にプッシュし、1 つ以上のユニットを配列の末尾にプッシュ (プッシュ)、2 番目のパラメーターは入力データのプッシュから始まります
0182 void unset (混合変数 [, 混合変数 [, ...]] )
0183 array array_pad ($a, 5, 's') は、's' を使用して配列を指定された長さまでパディングします
0184 bool shuffle (array $array) 配列をシャッフルします
0185 Mixed array_rand (array input [, int num_req]) 配列から 1 つ以上のユニットのインデックスまたはキー名をランダムに削除します
0186 array array_count_values (配列入力) は、配列内のすべての値の出現数をカウントします
0187 array array_combine (配列キー、配列値) は、1 つの配列の値をキー名として使用し、別の配列の値をその値として使用して、配列を作成します
0188 bool array_key_exists (混合キー、配列検索) 指定されたキー名またはインデックスが配列内に存在するかどうかを確認します
0189 Mixed array_search (mixed needle, array haystack [, bool strict] ) は配列内の指定された値を検索し、成功した場合は対応するキー名を返します
0190 bool is_array (混合変数)
0191 bool in_array (mixed needle, array haystack [, bool strict] ) は、配列内に特定の値が存在するかどうかをチェックします
0192 数値 array_sum (array 配列) は配列内のすべての値の合計を計算します
0193 array array_unique (array 配列) は配列内の重複した値を削除します
0194 混合リセット (配列 & 配列) は配列の内部ポインターを最初のユニットにポイントします
0195 混合電流 (アレイ&アレイ)
0196 混合次 (配列 & 配列)
0197 混合前 (配列 & 配列)
0198 混合エンド (配列&配列)
0199 混合キー (配列&配列)
0200 array array_keys (array input [,mixed search_value[,bool strict]]) 配列内のすべてのキー名を返します
0201 array array_values (配列入力) は配列内のすべての値を返します
0202 bool print_r (混合式 [, bool return] )
0203 void var_dump (混合式 [, 混合式 [, ...]] )
0204 int array_unshift ( array &array,mixed var [,mixed ...] ) は、配列の先頭に 1 つ以上のセルを挿入します
0205 混合 array_shift (array &array) は、配列の先頭にあるユニットを配列の外に移動します
0206 混合 array_pop (array &array) 配列の最後のユニットをポップします (スタックをポップします)
0207 array array_splice (array $input, int offset [, int length [, array replace]] ) 配列の一部を削除し、他の値に置換します
0208 array array_merge ( array array1 [, array array2 [, array ...]] ) 1 つ以上の配列をマージします
0209 array array_flip (array trans) は配列内のキーと値を交換します
0210 int extract( array var_array [, int extract_type [, string prefix]] ) 配列から現在のシンボルテーブルに変数をインポートします
0211 配列コンパクト (混合変数名 [, 混合 ...] ) は、変数名とその値を含む配列を作成します
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 prepare_keys] ) は配列を複数に分割します
0225
0226 スマート
0227 テンプレートエンジンは分析しません
0228
02290230 関数 t() {
0231
02320233
0234 設定ファイルの読み取り0235
0236
02370238 ファイルをインポートする
0239
0240 指定されたディレクトリ内の $trusted_dir ファイル0241 テンプレート出力データをキャプチャする
0242
0243
02440245
0246 ループ0247
0248 <{$News_IN[loop].NewsID}> 0249
0250
0251
02520253
0255
02560257
0258 ニュース番号: <{$newsID.newsID}>
0260
0261 判決0262
0263 1111
0264
0265 222222220266
0267 時間
0268 {$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"}
0269 %Y 年 %m 月 %d 日のコードが文字化けしています
0270
0271 プラグインの変更: plugins/modifier.date_format.php0272 $format = mb_convert_encoding($format,'gbk','utf-8');
0273 return mb_convert_encoding(strftime($format, $timestamp),'utf-8','gbk');
02740275 部分的にキャッシュされていません
0276 html:
0277
0278 ?
02790280
0281php:0282 $smarty->register_block('cacheless', 'smarty_block_dynamic', false) ;//true: キャッシュ、false: キャッシュなし
0283 関数 Smarty_block_dynamic($param, $content, &$smarty)
0284
0285 $content を返します。
0286 }0287
0288php:
0289 Function insert_kk()//メソッド名の前に「insert」が必要です
0290
0291 戻り日('Y-m-d H:i:s');
0292 }0293 html:
0294
0295 カスタムメソッド
0296 登録方法
0297php
0298 $smarty->register_function('test1', 'test');
0299 機能テスト($p)0300
0301 「ffffffffff」を返します。
03020303 html:
0304
0305 ------------------------------------------------0306 メソッドのカスタマイズ
0307 プラグインファイルメソッド定義方法
0308 function.test.php ファイルは plugins ディレクトリに保存されており、メソッド名は次のとおりです:smarty_function_test($params, &$smarty)
0309 関数 Smarty_function_test($params, &$smarty)
0310
0311
03120313 HTML 呼び出し:
0314
0315 ------------------------------------------------ ----0316 挿入方法
0317 プラグイン ファイル: insert.kk.php ファイルは plugins ディレクトリに保存されます
0318 関数 Smarty_insert_kk()
0319
0320 戻り日('Y-m-d H:i:s');
03210322php:
0323 function insert_kk()//メソッド名の前に「insert」が必要です
0324
0325 戻り日('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 関数 Smarty_modifier_test($str, $str2)
0334
03350336
0337 HTML 呼び出し:0338
0339
0340php:
0341 関数 eee($a)
0342
03430344
0345 html:0346
0347 if ステートメント
0348 eq は等しい、
0349 ne と neq は等しくありません、
0350 gt は
より大きい0351 gte、ge は以上です、
0352 lte、le は以下です、
0353 不正解です。MOD が必要です。
0354 は div by を特定の数で割ることができるかどうかです。
0355は偶数であるかどうかさえ[ではない]です、
0356 $a は $b によっても[ではない]
0357は奇数かどうかは奇数です0358 $a は $b と奇数ではない
0359
0360 XML
0361サックス
0362 xml:
0363 <--?xml version="1.0" encoder="utf-8"?-->
03640365
03660367
03680369
03700371 _
0372 _0373
03740375
03760377
0378
0379
0380
0381 php:
0382 $g_books = array();
0383 $g_elem = null;
0384
0385 function startElement( $parser, $name, $attrs )
0386 {
0387 グローバル $g_books、$g_elem;
0388 if ( $name == 'BOOK' ) $g_books []= array();
0389 $g_elem = $name;
0390 }
0391
0392 関数 endElement( $parser, $name )
0393 {
0394 グローバル $g_elem;
0395 $g_elem = null;
0396 }
0397
0398 関数 textData( $parser, $text )
0399 {
0400 グローバル $g_books、$g_elem;
0401 if ( $g_elem == '著者' ||
0402 $g_elem == 'パブリッシャー' ||
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 <--?xml version="1.0" encoding="utf-8"?-->
0431 <書籍>
0432 <本>
0433 <著者>ジャック・ヘリントン著者>
0434
0435 <出版社>オライリー出版社>
0436
0437 <本>
0438 <著者>ジャック・ヘリントン著者>
0439
0440 <出版社>オライリー出版社>
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 'タイトル' => 「PHP ハック」、
0470 '著者' => 「ジャック・ヘリントン」、
0471 '出版社' => 「オライリー」
0472 );
0473 $books [] = array(
0474 'タイトル' => 「ポッドキャスティングのハック」、
0475 '著者' => 「ジャック・ヘリントン」、
0476 '出版社' => 「オライリー」
0477 );
0478
0479 $doc = new DOMDocument();
0480 $doc->formatOutput = true;
0481
0482 $r = $doc->createElement( "books" );
0483 $doc->appendChild( $r );
0484
0485 foreach( $books として $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 SimpleXML0505 xml:
0506
0507
0508 _
05090510 _
05110512
0513php:0514 $xml = new SimpleXMLElement('1.xml', NULL, TRUE);
0515 echo $xml->book[0]->author."___".$xml->book[0]->title."___".$xml->book[0]-> ;出版社
0516
0517 レギュラー
0518 ereg シリーズの正規表現には区切り文字が必要ありません。preg シリーズの正規表現のみが区切り文字を選択できます。たとえば、通常は / 記号を使用します。ただし、一致する必要がある / がある場合は、/ で表す必要があります。 / が複数回出現する必要がある場合は、 | などの他の区切り文字を使用できます。
05190520
0521 通常の特殊文字
0522 . + * [ ^ ] { } = !
0523 はアトム (英語の文字などの通常の文字) で構成されます。
0524 メタキャラクター (特殊な機能を持つ文字)0525 パターン修正文字
0526 正規表現には少なくとも 1 つのアトムが含まれています
0527
0528 すべての記号の説明
0529 次の文字を特殊文字、リテラル文字、後方参照、または 8 進エスケープ文字としてマークします。たとえば、「n」は文字「n」と一致します。 「n」は改行文字に一致します。シーケンス「\」は「」に一致し、「(」は「(」に一致します。
0530 ^ 入力文字列の先頭と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、^ は 'n' または 'r' の後の位置にも一致します。
0531 $ 入力文字列の終了位置と一致します。 RegExp オブジェクトの Multiline プロパティが設定されている場合、$ は 'n' または 'r' の前の位置にも一致します。
0532 * 直前の部分式と 0 回以上一致します。たとえば、zo* は「z」と「zoo」に一致します。 * {0,} に相当します。
0533 + 前の部分式と 1 回以上一致します。たとえば、「zo+」は「zo」と「zoo」には一致しますが、「z」には一致しません。 + は {1,} と同等です。
0534 ? 直前の部分式に 0 回または 1 回一致します。たとえば、「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」を除く任意の 1 文字と一致します。 「n」を含む任意の文字と一致するには、「[.n]」のようなパターンを使用します。
0540 (パターン) パターンを一致させ、この一致を取得します。取得された一致は、VBScript の SubMatches コレクションまたは JScript の $0 ~ $9 プロパティを使用して、生成された Matches コレクションから取得できます。括弧文字と一致させるには、「(」または「)」を使用します。
0541 (?:pattern) はパターンに一致しますが、一致結果が得られません。これは、これは非検索一致であり、後で使用するために保存されないことを意味します。これは、「または」文字 (|) を使用してパターンの一部を結合する場合に便利です。たとえば、「industr(?:y|ies)」は「industry|industries」より短い式です。
0542 (?=パターン) 前方参照。文字列一致パターンの先頭にある検索文字列と一致します。これは非フェッチ一致です。つまり、後で使用するために一致をフェッチする必要はありません。たとえば、「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 は、単語とスペースの間の位置を指す単語境界に一致します。たとえば、「erb」は「never」の「er」と一致しますが、「動詞」の「er」とは一致しません。
0550 B 単語以外の境界と一致します。 「erB」は「動詞」の「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 は、スペース、タブ、フォーム フィードなどを含む任意の空白文字と一致します。 【fnrtv】に相当。
0558 S は空白以外の任意の文字に一致します。 [^ fnrtv] に相当します。
0559 t はタブ文字と一致します。 x09 および cI に相当します。
0560 v は垂直タブ文字と一致します。 x0b および cK に相当します。
0561 w アンダースコアを含む任意の単語文字と一致します。 「[A-Za-z0-9_]」と同等。
0562 W は単語以外の文字に一致します。 「[^A-Za-z0-9_]」と同等。
0563 xn は n と一致します。n は 16 進数のエスケープ値です。 16 進数のエスケープ値は、正確に 2 桁の長さである必要があります。たとえば、「x41」は「A」と一致します。 「x041」は「x04」および「1」と同等です。 ASCII エンコーディングは正規表現で使用できます。
0564 num は num と一致します。ここで、num は正の整数です。取得した一致への参照。たとえば、「(.)1」は、連続する 2 つの同一の文字に一致します。
0565 n は、8 進エスケープ値または後方参照を識別します。 n の前に少なくとも n 個のフェッチされた部分式がある場合、n は後方参照になります。それ以外の場合、n が 8 進数 (0 ~ 7) の場合、n は 8 進数のエスケープ値になります。
0566 nm は、8 進エスケープ値または後方参照を識別します。 nm の前に少なくとも nm 個の取得可能な部分式がある場合、nm は後方参照になります。 nm の前に少なくとも n が取得されている場合、n は後方参照であり、その後にリテラル m が続きます。前述の条件がいずれも満たされない場合、n と m が両方とも 8 進数 (0 ~ 7) の場合