趁學 PHP複習一下!
- 中介字元: . , 代表任何字元
- 跳脫字元: \ , 用以跳脫指令, 也就是真的是用該符號, e.g. \. 真的要表示 . 那個符號
- 字元類組: [] , e.g. came, come 可用 c[ao]me 來表示, 也可用 [0-9]表示 0到9的任一數字, 同理可使用 [a-z], [A-Z] 或混用 [a-zA-Z], 另外, 若在 [] 內第一字元加上 ^, 代表除這組以外, e.g. c[^ao]me, 代表除了 came, come以外, cxme的 x可被任何字元取代, 其餘時候 ^ 就代表該符號
- 標位點: ^: 起始, $: 結束, e.g. '^to' 代表 to開始的字串, 'be$' 代表 be結束的字串. $var = "to be or not to be" 及滿足此兩表示法. 可一起用, 以比對整個字串. $match = ereg('^Yes$', "Yes sir"); // false, 此只比對 "Yes"
- 比較 ^在字元類組與標位點的用法
- $var = "1234567"
- $match = ereg("^[0-9]", $var); // true, 比對以數字為起始的字串
- $match = ereg("[^0-9]", $var); // false, 比對時排除數字字元
- 前面都只比較字元, 接著是字元的重覆性
- ? : 0或 1次(optional)
- +: 至少一次
- *: 0或 1次以上
- e.g. pe?p可以表示 pep, pp, 而 pe*p則表示 pp, pep, peep, peeep, peeeee...ep
- {n}, n代表整數, 可用來指定樣式出現的次數
- 集結 (group) : (), 用括號表示一個小群體, e.g. (abc)+ 代表可以 abc, abcabc, abcabcabc....
- alternative: |, 其實就是 or, e.g. $pattern='(com$|net$|gov$)' 可識別 com或 net或 gov結尾的字串
- 中介字元 (metacharacter): e.g. \t表示定位, \n: new line, \d: 任何數字, \s表示任何留白 (space), 還有一種特殊字元以 [: xxx :]包起來, 如: [:alnum:] 可用來檢查字母
- 雙引號內用 \ , 必須用兩個。e.g. $found = ereg("\\.com", "www.google.com"); 代表找 .com 這個 pattern。第二個 \ 是因為表達實際的 . 要用 \. , 而第一個 \ 是在雙引號中表達 \ 要多加 \ , 若改用單引號可避免太混亂, e.g. ereg('\.com', "www.google.com");
- YYYY-MM-DD => $pattern = '^([0-9]{4})-([0-9]{2})-([0-9]{2})$';
- 以單格空白取代多於空白: ereg_replace("[[:space"]]+", " ", $source);
- 用 DD/MM/YYYY取代 YYYY-MM-DD的時間格式:
- $pattern = '^([0-9]{4})-([0-9]{2})-([0-9]{2})$';
- print ereg_replace($pattern, '\3/\2/\1', $value); \i 代表參照的運算式
沒有留言:
張貼留言