看板 PHP 關於我們 聯絡資訊
請問我想用preg_match_all找下面的patten怎樣寫法會比較好?謝謝 $string = "f1/f2/f3/f4" f1,f2,f3,f4用"/"分開 f1, f2,f3,f4可有可無 f1:數字0到23, 可多個數字,每數字用","分開, 有range形式為 "數字-數字". 如 0,2-23,7 f2:數字1到31,可多個數字,每數字用","分開 如 0,18,9,23,31 f3:數字0到6,可多個數字,每數字用","分開 如 0,1,3,7 f4:數字0到11,可多個數字,每數字用","分開 如 0,1,7,11 如 $string = ///; $string = 0,2-23,7//0,1,3,7/; $string = 1,4/0,5,23/2,0,1,3/0,4; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 71.183.242.84 ※ 文章網址: http://www.ptt.cc/bbs/PHP/M.1396659004.A.DEA.html
alog:寫一個function用explode處理就好 04/05 19:55
alog:個人覺得用preg_match處理這種特殊狀況有點難維護code 04/05 19:55
alog:容易有例外 04/05 19:55
jacobcan118:感謝.我原本想用explode再查count(array)再用foreach 04/06 12:37
jacobcan118:找不是empty的值不過感覺太麻煩想知道有沒更好方法 04/06 12:39
mmis1000:單純確認格式是辦得到拉,但用regex確認數字範圍很奇怪啊 04/06 14:57
jacobcan118:感謝.但如果想用regex要如何確認數字0到10.(\d|1\d)嗎 04/07 05:03
MOONRAKER:這樣不是0-19。(\d|10)不就結了。 04/07 12:14
MOONRAKER:http://www.regextester.com/ 04/07 12:16
jacobcan118:抱歉手誤是0-19想用preg_match_all出來的array拿值,不 04/08 12:17
jacobcan118:過會分不出1和1X 04/08 12:17
alog:explode explode explode foreach 04/08 16:03
alog:等解出來function已經寫完了 效能也不錯 之後改規則也好調整 04/08 16:05
mmis1000:用(?:分支一|分支二)的寫法,可以做出兩層以上分支 04/08 18:29