我很努力並得到了這麼遠,但最終它不工作!正則表達式逗號後的可選匹配
我想要做的是以下幾點: 我有一個preg_replace_callback函數,我想解決我的「字典」功能。
我用我自己的 「字典」 標籤:
<[general,username]>
<[general,username,1]>
這應該叫我的功能 「字典」。它的功能是ararguments是:dictionary($search,$section,$upper=null)
$search = filename
$section = array key
$upper = (int) 1 to 3
我的回調函數調用從「字典」標記的值的功能。
for <[general,username]> I need
- $search = general
- $section = username
- $upper = null
but for <[general,username,1]> I want
- $search = general
- $section = username
- $upper = 1
我希望我的正則表達式總是匹配2個參數(搜索和部分),但有一個第三個可選參數。
我的正則表達式:
/\<\[([^\[]+)\,([^\[]+)(\,[0-2])?\]\>/
,但這不能正常工作。我得到如下結果:
爲< [一般情況下,用戶名]>我得到
[0] => <[general,username]>
[1] => general
[2] => username
爲< [一般情況下,用戶名,1]>我得到
[0] => <[general,username,1]>
[1] => general,username
[2] => 1
但我想
[0] => <[general,username,1]>
[1] => general
[2] => username
[3] => 1
我在做什麼錯?
該表達式將組t他的號碼,但也是一個逗號,**(\,[0-2])?**,所以上面的結果是錯誤的=「,」 –
Eder
糟糕,我應該仔細看看那部分。我會編輯它。謝謝! – MVS