導航:首頁 > 編程語言 > php正則表達式s

php正則表達式s

發布時間:2023-05-16 18:15:00

『壹』 php 怎樣判斷一個字元串為正則表達式

PHP 中的正則表達式格式為 : /.*/

如果這個字元串由 / 開頭, 由 / 結尾,應該就是一個正則表達式。

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

$preg="/^/.*/$/";
$test="/abc/";

if(preg_match($preg,$test)){
echo'是正則表達式';
}else{
echo'不是正則表達式';
}

『貳』 如何在PHP中轉義正則表達式字元

在PHP中,實現轉義正則表達式字元的函數是:preg_quote函數。語法如下:
Stringpreg_quote(stringstr[,stringdelimiter])
Str是用來進行字元轉義的正則表達式,delimiter是其他需要轉義的字元。
在PHP中可以使用preg_quote函數轉義一些特殊字元。
例如:
<?php
$str=preg_quote(「/\d{3}(\-\d{4})/」);echo$str;?>
結果:
/\\d\{3\}\-d{4}\-d{4}/

<?php
$str=preg_quote(「/\d{3}(\-\d{4})/」,」3「);echo$str;?>
結果:
/\\d\{\3\}\-d{4}\-d{4}/
這兩個例子有什麼區別呢?
就是紅色區域中的「3」,在第二個例子中將「3」也轉義出了。

『叄』 php中如何用正則表達式匹配中文字元呢

php中匹配一個或多個中文字元(包含簡體和繁體中文字元)的正則表達式如下:/[[b]\x{4e00}-\x{9fa5}]+/注意:php中正則表達式的16進制是以
\x
開頭的。

『肆』 PHP正則表達式如何寫

昵稱正則var reg=/^[\春慶腔u4E00-\u9FA5A-Za-z0-9]{2,10}$/;
文本域:var reg=/^[^<>#$%/差碰]{1,140}$/;
郵箱:var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\扒衫.\w+([-.]\w+)*$/;

preg_match(reg, $banknumber)
preg_match("/^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17([0-3]|[5-9]))|(18[0,5-9]))\\d{8}$/",'17755332020')//最新手機號

『伍』 php 使用正則表達式是否具有優勢和缺點

優點:
正則表達式可以處理比較復雜的文本數據處理如匹配、替換、分割,比著php中的原生字元串函數功能更強,比如處理url,處理文本,驗證規則
缺點:
有強大的功能,但是處理速度比著原生字元串函數要慢

原則上能用原生的函數不用php中正則表達式

『陸』 用PHP正則表達式判斷

<?php
$message=$_POST['message'];
if(preg_match('/<script[^>]*>/',$message)){//匹配
echo'error';die;
}
?>

『柒』 PHP正則表達式的使用技巧

PHP正則表達式的定義

用於描述字元排列和匹配模式的一種語法規則 它主要用於字元串的模式分割 匹配 查找及替換操作

PHP中的正則函數

PHP中有兩套正則函數 兩者功能差不多 分別為

一套是由PCRE(Perl Compatible Regular Expression)庫提供的 使用 preg_ 為前綴命名的函數

一套由POSIX(Portable Operating System Interface of Unix )擴展提供的 使用以 ereg_ 為前綴命名的函數 (POSIX的正則函數庫 自PHP 以後 就不在推薦使用 從PHP 以後 就將被移除)

由於POSIX正則即將推出歷史舞台 並且PCRE和perl的形式差不多 更利於我們在perl和php之間切換 所以這里重點介紹PCRE正則的使用

PCRE正則表達式

PCRE全稱為Perl Compatible Regular Expression 意思是Perl兼容正則表達式

在PCRE中 通常將模式表達式(即正則表達式)包含在兩個反斜線 / 之間 如 /apple/

正則中重要的幾個概念有 元字元 轉義 模式單元(重復) 反義 引用和斷言 這些概念都可以在文章[ ]中輕松的理解和掌握

常用的元字元(Meta character)

元字元 說明

/A 匹配字元串串首的原子

/Z 匹配字元串串尾的原子

/b 匹配單詞的邊界 //bis/ 匹配頭為is的字元串 /is/b/ 匹配尾為is的字元串 //bis/b/ 定界

/B 匹配除單詞邊界之外的任意字元 //Bis/ 匹配單詞 This 中的 is

/d 匹配一個數字 等價於[ ]

/D 匹配除數字以外任何一個字元 等價於[^ ]

/w 匹配一個英文字母 數字或下劃線 等價於[ a zA Z_]

/W 匹配除英文字母 數字和下劃線以外任何一個字元 等價於[^ a zA Z_]

/s 匹配一個空白字元 等價於[/f/t/v]

/S 匹配除空白字元以外任何一個字元 等價於[^/f/t/v]

/f 匹配一個換頁符等價於 /x c 或 /cL

匹配一個換行符 等價於 /x a 或 /cJ

匹配一個回車符等價於/x d 或 /cM

/t 匹配一個製表符 等價於 /x /或/cl

/v 匹配一個垂直製表符 等價於/x b或/ck

/oNN 匹配一個八進制數字

/xNN 匹配一個十六進制數字

/cC 匹配一個控制字元

模式修正符(Pattern Modifiers)

模式修正符在忽略大小寫 匹配多行中使用特別多 掌握了這一個修正符 往往能解決我們遇到的很多問題

i -可同時匹配大小寫字母

M -將字元串視為多行

S -將字元串視為單行 換行符做普通字元看待 使 匹配任何字元

X -模式中的空白忽略不計

U -匹配到最近的字元串

e -將替換的字元串作為表達使用

格式 /apple/i匹配 apple 或 Apple 等 忽略大小寫 /i

PCRE的模式單元

// 提取第一位的屬性

/^/d{ } ([/W])/d{ }// /d{ }$匹配 / / 等字元串 但上述正則表達式不匹配 / 的格式 這是因為模式 [/W] 的結果 / 已經被存儲 下個位置 / 引用時 其匹配模式也是字元 /

當不需要存儲匹配結果時使用非存儲模式單元 (? )

例如/(?:a|b|c)(D|E|F)// g/ 將匹配 aEEg 在一些正則表達式中 使用非存儲模式單元是必要的 否則 需要改變其後引用的順序 上例還可以寫成/(a|b|c)(C|E|F)/ g/

PCRE正則表達式函數

以下為引用的內容

preg_match()和preg_match_all() preg_quote() preg_split() preg_grep() preg_replace()

函數的具體使用 我們可以通過PHP手冊來找到 下面分享一些平時積累的正則表達式

匹配action屬性

以下為引用的內容

$str = ; $match = ; preg_match_all( //s+action=/ (?!)( *?)/ /s/ $str $match); print_r($match);

在正則中使用回調函數

以下為引用的內容

/** * replace some string by callback function * */ function callback_replace() { $url = ; $str = ; $str = preg_replace ( /(?<=/saction=/ )(?!)( *?)(?=/ /s)/e search(/$url // ) $str ); echo $str; } function search($url $match){ return $url / $match; }

帶斷言的正則匹配

以下為引用的內容

$match = ; $str = xxxxxx cn bold font paragraph text

; preg_match_all ( /(?<=<(/w{ })>) *(?=</// >)/ $str $match ); echo 匹配沒有屬性的HTML標簽中的內容 ; print_r ( $match );

替換HTML源碼中的地址

以下為引用的內容

$form_ = preg_replace ( /(?<=/saction=/ |/ssrc=/ |/s)(?!|javascript)( *?)(?=/ /s)/e add_url(/$url / // / ) $form_ );

lishixin/Article/program/PHP/201311/21027

『捌』 php 正則表達式 url匹配

1,preg_grep(pattern,array);它的返回值是一個新數組,新數組的元素是成功匹配的元素。

『玖』 PHP正則表達式

數字:
^[0-9]*$
2
n位的數字:
^\d{n}$
3
至少n位的數字:
^\d{n,}$
4
m-n位的數字:
^\d{m,n}$
5
零和非零開頭的數字:
^(0|[1-9][0-9]*)$
6
非零開頭的最多帶兩位小數的數字:
^([1-9][0-9]*)+(.[0-9]{1,2})?$
7
帶1-2位小數的正數或負數:
^(\-)?\d+(\.\d{1,2})?$
8
正數、負數、和小數:
^(\-|\+)?\d+(\.\d+)?$
9
有兩位小數的正實數:
^[0-9]+(.[0-9]{2})?$
10
有1~3位小數的正實數:
^[0-9]+(.[0-9]{1,3})?$
11
非零的正整數:
^[1-9]\d*$

^([1-9][0-9]*){1,3}$

^\+?[1-9][0-9]*$
12
非零的負整數:
^\-[1-9][]0-9"*$

^-[1-9]\d*$
13
非負整數:
^\d+$

^[1-9]\d*|0$
14
非正整數:
^-[1-9]\d*|0$

^((-\d+)|(0+))$
15
非負浮點數:
^\d+(\.\d+)?$

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
16
非正浮點數:
^((-\d+(\.\d+)?)|(0+(\.0+)?))$

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
17
正浮點數:
^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$

^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
18
負浮點數:
^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$

^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
19
浮點數:
^(-?\d+)(\.\d+)?$

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

『拾』 PHP中的正則表達式是什麼意思

php中沿襲了perl語言的正則表達式規則,用戶需要根據正則表達式規則書寫一些具有一定含義的字元串,然後通過匹配從而提取用戶想要的信息

閱讀全文

與php正則表達式s相關的資料

熱點內容
小項目是雲伺服器還是本地好 瀏覽:12
墨痕齋是什麼游戲的伺服器 瀏覽:942
word文件如何壓縮大小 瀏覽:277
遵義聯通伺服器地址是什麼 瀏覽:29
ansys約束命令流 瀏覽:814
解壓軟體電腦版如何下載 瀏覽:791
閃電匕首演算法球 瀏覽:692
linuxredis停止命令 瀏覽:670
大麥賬號怎麼加密 瀏覽:113
穿越火線怎麼找伺服器 瀏覽:526
秘密加密社交軟體app 瀏覽:256
c語言編譯器怎麼找文件 瀏覽:835
數學不好能編程嗎 瀏覽:254
微雲里的視頻加密 瀏覽:41
3大加密貨幣交易平台 瀏覽:647
鈑金激光切割機編程 瀏覽:496
vivo手機手電筒app在哪裡 瀏覽:787
單片機晶振電路電容 瀏覽:887
穿越火線河南一區伺服器雲主機 瀏覽:41
文件夾與快捷方式顯示一致 瀏覽:879