看板 PHP 關於我們 聯絡資訊
※ 引述《ybite (水中影)》之銘言: : ※ 引述《piligo (pili)》之銘言: : : 謝謝 ago1414 emn178 dinos3 提供相關的資訊與建議 : : 那針對RE這部份,大家都建議採用if是因為只有他能用RE嗎? : : 因為看到的書本都寫當有多個判斷式可用switch,那現在又改回if,不知只是為了可以 : : 使用RE,還是別有原因? : : 看到preg_match這個函數之前,有看到另一個ereg,查了一下相關兩者的不同 : : 除了preg_match是Perl的函數,在實際使用上還有哪些差異嗎? : : 謝謝 : ereg/eregi 是使用 POSIX extended 的正規表示式 : preg_match 是使用 Perl 語言下的正規表示式 : 語法上有些差異 :P 嗯嗯了解 我在使用 * + ? 這三個有一些疑問 ^(9[0-9])([0][3,5,6])([0-9]{2})(0[0-5])*$ 年 月 日 流水號 當我使用 * 只要符合92032003 or 920320 就為真,因為我有查了那三個符號的定義 如下,那把 * 改成 + 也就變成流水號沒寫就為假,那試了 ? 怎麼都跟 * 的反應一 模一樣,這要怎樣套才會看出效果呢?還有他的more的定義是什麼呢? 想成更多的話,那我寫成92032003XXXX也是假,所以 1 和 more 如何看出他的差異? * = 0 or more + = 1 or more ? = 0 or 1 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.75.114
piligo:自打嘴巴..忘了*?+左邊已經用0[0-5]侷限範圍了,我在測試時 06/20 11:36
piligo:用到範圍外的字元...@@ 06/20 11:37
piligo:還有一點,那時候被只針對左邊一個字元作判斷所誤解,原來 06/20 11:42
piligo:(0[0-5])變成00 01 02 03 04 05這樣的組合來當一個字而不是 06/20 11:43
piligo:01111 02222 03333 04444 05555要010101 020202 030303才對 06/20 11:44
piligo:另外補充當流水號寫01020304他會取最後一組也就是04 06/20 12:49
piligo:那有辦法取全部的值嗎?還是他只拿最後順位是先天的限制? 06/20 12:59