in header_common.htm --> -->

52AV手機A片王|52AV.ONE

 找回密碼
 立即註冊
快捷導航

請登入會員才有搜尋功能
     
查看: 3241|回復: 0
打印 上一主題 下一主題

[PHP] 找字串 pre_match() ----含正規表示式

[複製鏈接]
跳轉到指定樓層
樓主
發表於 2015-7-2 13:09:55 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

本帖最後由 IT_man 於 2015-7-2 19:36 編輯 0 X2 {' W9 R; j- P

* q# @& {2 b7 i7 O5 ?7 v$ M1.頭尾的//要加進去 slash相同! K9 _- f6 g, a. M
2.回傳的值不同
8 Y: w1 {7 X0 j8 Z& [3.使用到跳脫字元 必須使用 \^& S& \3 W. p7 E' H5 V
preg_match("/(正規條件字串)/","(欲驗證字串)"),如果欲驗證字串符合正規條件字串,則回傳1(true),反之回傳0(false)。error return false.4 w" @7 Y" \- f( v. m
不區分大小寫的sensitive
9 r$ J$ N$ V3 P8 ?eregi('^hello', 'HELLO');7 d; B2 e- I7 v3 h. i- _: |- |- b
preg_match('/^hello/i', 'HELLO');0 V' L3 w# z3 R3 B) B( M

) G% R9 m" `5 ]! M# G6 k) i$ f" l/ [
1. 需要跳脫字元的特殊符號1 O: k" s' j& A: c0 N
\   +   [   ]   .   ^   $   *   ?   (   )   |   '   "   {   }2 k: G0 S- R) d- a
如果有使用到 正規表達式的符號 請使用跳脫字元 eg. \^0 L; \6 Z$ |0 S) C6 b% B6 Q' Y! v. F

  L9 e* |7 e7 l. j0 M5 I+ t9 f# U# x( `/ i$ I$ N
2.; d- K' a( z  v/ B+ ^
通用式
說明及範例
比對不成立之字串
/a/
含字母 “a" 的字串,例如 “ab", “bac", “cba"“xyz"
/a./
含字母 “a" 以及其後任一個字元的字串,例如 “ab", “bac"(若要比對.,請使用 \.)“a", “ba"
/^xy/
以 “xy" 開始的字串,例如 “xyz", “xyab"(若要比對 ^,請使用 \^)“axy", “bxy"
/xy$/
以 “xy" 結尾的字串,例如 “axy", “abxy"以 “xy" 結尾的字串,例如 “axy", “abxy" (若要比對 $,請使用 \$)“xya", “xyb"
[13579]
包含 “1″ 或 “3″ 或 “5″ 或 “7″ 或 “9″ 的字串,例如:"a3b", “1xy"“y2k"
[0-9]
含數字之字串不含數字之字串
[a-z0-9]
含數字或小寫字母之字串不含數字及小寫字母之字串
[a-zA-Z0-9]
含數字或字母之字串不含數字及字母之字串
b[aeiou]t
“bat", “bet", “bit", “bot", “but"“bxt", “bzt"
[^0-9]
不含數字之字串(若要比對 ^,請使用 \^)含數字之字串
[^aeiouAEIOU]
不含母音之字串(若要比對 ^,請使用 \^)含母音之字串
[^\^]
不含 “^" 之字串,例如 “xyz", “abc"“xy^", “a^bc"
字元
說明
簡單範例
\
避開特殊字元/A\*/ 可用於比對 “A*",其中 * 是一個特殊字元,為避開其特殊意義,所以必須加上 “\"
^
比對輸入列的啟始位置/^A/ 可比對 “Abcd" 中的 “A",但不可比對 “aAb"
$
比對輸入列的結束位置/A$/ 可比對 “bcdA" 中的 “A",但不可比對 “aAb"
*
比對前一個字元零次或更多次/bo*/ 可比對 “Good boook" 中的 “booo",亦可比對 “Good bk" 中的 “b"
+
比對前一個字元一次或更多次,等效於 {1,}/a+/ 可比對 “caaandy" 中的 “aaa",但不可比對 “cndy"
?
比對前一個字元零次或一次/e?l/ 可比對 “angel" 中的 “el",也可以比對 “angle" 中的 “l"
.
比對任何一個字元(但換行符號不算)/.n/ 可比對 “nay, an apple is on the tree" 中的 “an" 和 “on",但不可比對 “nay"
(x)
比對 x 並將符合的部分存入一個變數/(a*) and (b*)/ 可比對 “aaa and bb" 中的 “aaa" 和 “bb",並將這兩個比對得到的字串設定至變數 RegExp.$1 和 RegExp.$2。
xy
比對 x 或 y/a*b*/g 可比對 “aaa and bb" 中的 “aaa" 和 “bb"
{n}
比對前一個字元 n 次,n 為一個正整數/a{3}/ 可比對 “lllaaalaa" 其中的 “aaa",但不可比對 “aa"
{n,}
比對前一個字元至少 n 次,n 為一個正整數/a{3,}/ 可比對 “aa aaa aaaa" 其中的 “aaa" 及 “aaaa",但不可比對 “aa"
{n,m}
比對前一個字元至少 n 次,至多 m 次,m、n 均為正整數/a{3,4}/ 可比對 “aa aaa aaaa aaaaa" 其中的 “aaa" 及 “aaaa",但不可比對 “aa" 及 “aaaaa"
[xyz]
比對中括弧內的任一個字元/[ecm]/ 可比對 “welcome" 中的 “e" 或 “c" 或 “m"
[^xyz]
比對不在中括弧內出現的任一個字元/[^ecm]/ 可比對 “welcome" 中的 “w"、"l"、"o",可見出其與 [xyz] 功能相反。(同時請同學也注意 /^/ 與 [^] 之間功能的不同。)
[\b]
比對退位字元(Backspace character)可以比對一個 backspace ,也請注意 [\b] 與 \b 之間的差別
\b
比對英文字的邊界,例如空格例如 /\bn\w/ 可以比對 “noonday" 中的 ‘no’ ;
2 y- m8 u; M: I, M2 M, |/\wy\b/ 可比對 “possibly yesterday." 中的 ‘ly’
\B
比對非「英文字的邊界」例如, /\w\Bn/ 可以比對 “noonday" 中的 ‘on’ ,! L+ [9 |. k, A+ j! l! n# ]
另外 /y\B\w/ 可以比對 “possibly yesterday." 中的 ‘ye’
\cX
比對控制字元(Control character),其中 X 是一個控制字元/\cM/ 可以比對一個字串中的 control-M
\d
比對任一個數字,等效於 [0-9]/[\d]/ 可比對由 “0″ 至 “9″ 的任一數字但其餘如字母等就不可比對
\D
比對任一個非數字,等效於 [^0-9]/[\D]/ 可比對 “w" “a"… 但不可比對如 “7″ “1″ 等數字
\f
比對 form-feed若是在文字中有發生 “換頁" 的行為則可以比對成功
\n
比對換行符號若是在文字中有發生 “換行" 的行為則可以比對成功
\r
比對 carriage return
\s
比對任一個空白字元(White space character),等效於 [ \f\n\r\t\v]/\s\w*/ 可比對 “A b" 中的 “b"
\S
比對任一個非空白字元,等效於 [^ \f\n\r\t\v]/\S/\w* 可比對 “A b" 中的 “A"
\t
比對定位字元(Tab)
\v
比對垂直定位字元(Vertical tab)
\w
比對數字字母字元(Alphanumerical characters)或底線字母("_"),等效於 [A-Za-z0-9_]/\w/ 可比對 “.A _!9″ 中的 “A"、"_"、"9″。
\W
比對非「數字字母字元或底線字母」,等效於 [^A-Za-z0-9_]/\W/ 可比對 “.A _!9″ 中的 “."、" “、"!",可見其功能與 /\w/ 恰好相反。
\ooctal
比對八進位,其中octal是八進位數目/\oocetal123/ 可比對與八進位的ASCII中 “123″ 所相對應的字元值。
\xhex
比對十六進位,其中hex是十六進位數目/\xhex38/ 可比對與 16進位的ASCII中 “38″ 所相對應的字元。
, p3 k' {9 Y( w
例:
) Y( E. W/ r1 l* ?% y, m. q  c"http://videomega.tv/view.php?ref=057070073072049056055072068049049068072055056049072073070057&"  找 "057070073072049056055072068049049068072055056049072073070057"   這串數字 ====>
  1. $LINK_PAGE="http://videomega.tv/view.php?ref=057070073072049056055072068049049068072055056049072073070057&";+ K& o& h' u% M* g
  2. preg_match('/http\:\/\/videomega\.tv\/view\.php\?ref=(\d+)&/i', $LINK_PAGE, $tmp_matches);
複製代碼
5 x8 W: g; }- Z+ J4 ^4 @  o
結果 ===>) U4 G' ]/ u/ A: w  w6 x8 d
$tmp_matches[0] = "http://videomega.tv/view.php?ref=057070073072049056055072068049049068072055056049072073070057&"% z) K; r( {' m. O" W7 W5 z
$tmp_matches[1] = "057070073072049056055072068049049068072055056049072073070057"! M$ g" k" }' B! F4 d

9 x: K: w# P8 Z! [% S* Y# i
-->
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則


-->

聚BT福利

本區塊內容依據『電腦網路內容分級處理辦法』為限制級網站,限定年滿18歲以上或達當地國家法定年齡人士方可進入,且願接受本站各項條款,未滿18歲 謝絕進入瀏覽。為防範未滿18歲之未成年網友瀏覽網路上限制級內容的圖文資訊,建議您可進行網路內容分級組織ICRA分級服務的安裝與設定。 (為還給愛護 本站的網友一個純淨的論壇環境,本站設有管理員)

QQ|小黑屋|手機板|52AV手機A片王

GMT+8, 2025-1-1 06:45 , Processed in 0.069649 second(s), 16 queries .

連絡站長.廣告招商

[email protected] | QQ:2405733034     since 2015-01

裸聊妹 快速回復 返回頂部 返回列表