正規表示式學習

2021-07-07 08:30:56 字數 2857 閱讀 1526

正規表示式學習

<?php

header('content-type:text/html;charset=utf-8');

//前導表示前面乙個字串

//位置

//+ 至少乙個

//* 0 或者多個

// ? 0 或乙個

//.任意乙個字元

// .*前導任意字元,0個或多個

// ,前導必須3個

// | 條件選擇符

//^開始 $結束

//,裡的面任意乙個即可。

//[a-z]表示26個字母中,隨便乙個

//[^abc]除了abc

//()分組 (?:)不獲取分組 (?=)限定也是不獲取分組 |必須被分組()包含起來

//元字元

//\w   代表[a-za-z0-9_]

//\d       [0-9]

//\d       [^0-9]

// \s 空白字元

//\b表示到達單詞邊界 ,邊界可以理解為空格

//修飾符

//i :   不區分大小寫

//m :  匹配首尾的時候,如果遇到換行, 也應該承認是結尾,只對 ^ $有作用

//x:    忽略掉規則模式中的空白

//a:    表示必須從頭開始

//s:    將多行視為一行 /*

$model = "/ph p/xma"; //規則模式

$string = "this is php\n,  good";

if(preg_match($model, $string))else

搜尋陣列中的相匹配的字串

preg_grep()函式

$language = array('python','ruby','php','asp','jsp');

找出最流行的3p語言

print_r(preg_grep('/p$/', $language,preg_grep_invert));

python 蟒蛇語言.

找出以p開頭的

print_r(preg_grep('/^p/', $language));

搜尋模式 ,返回真假;

echo preg_match('/php[0-5]/','php6'); //匹配一次

//匹配電子郵件

$pattern = '/([\w\.])@([\w\-]).([a-z])/';

$mail = '[email protected]';

if(preg_match($pattern, $mail))else

//匹配全域性

preg_match_all('/php[1-5]/', 'php1saddsphp2sffphp3', $matches);

print_r($matches);

preg_match_all('/<[a-za-z]+>.*|<[a-za-z]+/>/', 'php1saddsphp2sffphp3', $matches);

print_r($matches);

preg_match_all('/php[1-5]/', 'php1saddsphp2sffphp3', $matches);

print_r($matches);

// $pattern = '/([\w\.])@([\w\-]).([a-z])/';

//    $mail = '[email protected]';

//    if(preg_match($pattern, $mail,$matches))else

//匹配檔名。

//取出副檔名

$mode = '/^[a-za-z0-9_\.]+\.([a-z0-9a-z]+)$/';

$file = 'ddwsffdfqd.gif.png.zip';

if(preg_match($mode, $file,$matches))else

//貪婪和分組獲取的案例,ubb;

$string = 'this is a [b]php5[/b], this is a [b]php6[/b]';

$mode = '/\[b\](.*)\[\/b\]/u';

$replace = '$1';

echo preg_replace($mode, $replace, $string);

echo $string;

$string = '我是被index.php 匯入的';

$mode = '/\/';

$replace = '$1';

echo preg_replace($mode, $replace, $string);

// echo $string;

$str = '';

$patternforeach = '/\/';

preg_match($patternforeach, $str,$matches);

print_r($matches);

$str = '';

$pattern = '/\/';

preg_match($pattern, $str,$matches);

print_r($matches); */

$pattern = '/.*/xs';

$str = "cdcds\nabc";

preg_match($pattern, $str,$matches);

print_r($matches);

正規表示式學習

概念 正規表示式,就是用某種模式去匹配一類字串的乙個公式。基礎 下表列出了所有的元字元和對它們的乙個簡短的描述。簡單例子 vi 命令作用 s g 把乙個或者多個空格替換為乙個空格 s 去掉行尾的所有空格 s 在每一行頭上加入乙個空格 s 0 9 0 9 去掉行首的所有數字字元 s b aeio g ...

正規表示式學習

1.元字元 1 匹配任何單個字元 2 匹配括號中的任何乙個字元 可以再括號中使用連字元 來指定子都的區間來簡化表示,如a 0123456789 c等價於a 0 9 c 3 將 之間括起來的表示式定義為 組 4 將兩個匹配條件進行邏輯 或 運算 z f ood則匹配 zood 或 food 5 匹配0...

正規表示式學習

只是點皮毛,先湊合用著了,順便鄙視一下sqlserver,居然不支援正則。b 元字元,代表著單詞的開頭或結尾,也就是單詞的分界處。d 數字 s 任意的空白符,包括空格,製表符 tab 換行符,中文全形空格等 w 字母或數字或下劃線或漢字等 匹配字串的開始 匹配字串的結束 轉義符 除換行符以外的任意字...