試圖匹配是這樣的:CodeIgniter的路徑一致的兩個數可選小數
wrs/time/5/10
或整數之間wrs/time/5.2/10.55
或任何東西,上浮至兩個可選的小數兩個捕獲組。
一直在嘗試該協會致力於一個數,但兩組如下:\d{0,2}(\.\d{1,2})?
全路徑的嘗試:
$route['wrs/time/(\d{0,2}(\.\d{1,2})?)/(\d{0,2}(\.\d{1,2})?)'] = 'wrs/trange/$1/$2';
任何幫助非常感謝
試圖匹配是這樣的:CodeIgniter的路徑一致的兩個數可選小數
wrs/time/5/10
或整數之間wrs/time/5.2/10.55
或任何東西,上浮至兩個可選的小數兩個捕獲組。
一直在嘗試該協會致力於一個數,但兩組如下:\d{0,2}(\.\d{1,2})?
全路徑的嘗試:
$route['wrs/time/(\d{0,2}(\.\d{1,2})?)/(\d{0,2}(\.\d{1,2})?)'] = 'wrs/trange/$1/$2';
任何幫助非常感謝
您當前的正則表達式的作品,但放將全部數字分爲組1和組3(小數組也在組2和組4中)。
您可以通過將您的重寫更改爲'wrs/trange/$1/$3'
來解決此問題。
或者你可以稍微改變你的正則表達式:
wrs/time/(\d{0,2}(?:\.\d{1,2})?)/(\d{0,2}(?:\.\d{1,2})?)
通過改變(...)
周圍的小數部分(?:...)
你說沒有捕捉到小數點在自己的組,那麼你的號碼將在第1組和第2組像你期望的那樣。
在您的示例中,您需要將括號中的內容分組,以便您可以使用?
使整個選項可選,但實際上並不希望該部分是捕獲組。
「{0,2} +」並不意味着「在0到2次之間,一次或多次」,而是「在0到2次之間,佔有慾」。 –
是的,我意識到,當我輸入它時,我不知道「{0,2} +」實際上會做什麼 - 我確定它是無效的正則表達式。我不知道什麼東西可能是「所有格」(寫這個正則表達式的人也沒有),現在只是看了它,謝謝你的信息。 – OGHaza
請問您可以編輯這個問題嗎?您得到了什麼?你期待什麼? –
當我在其中一個項目中測試它時,您的代碼正常工作。 – Jeemusu