失去了我的正則表達式初學者所以,我得到完全失去了它沒有多久了一下:]用的preg_match正則表達式
我需要做什麼:
我已經得到了一串數值'a:b,a2:b2,a3:b3,a4:b4',其中我需要通過給定對的第二個值(b2)搜索特定的一對值(即:a2:b2) )並獲得該對的第一個值作爲輸出(a2)。
所有字符都被允許的(除了「」其中的方式隔開每對值)和任何第二值(B,B2,B3,B4)是獨特的(不能是不止一次本多項所述字符串中)
讓我給一個更好的例子,如前可能不是很清楚:
這是一個字符串:2分:2.5分:5,10分鐘:10,15分鐘:15,永不:0
已搜索的格局是:5
我想,最好的方法是使用函數調用具有子模式功能的preg_match。
所以我試過如下:
$str = '2 minutes:2,5 minutes:5,10 minutes:10,15 minutes:15,20 minutes:20,30 minutes:30, never:0';
$re = '/(?P<name>\w+):5$/';
preg_match($re, $str, $matches);
echo $matches['name'];
通緝輸出是「5分鐘,但沒有奏效。
我也想堅持Perl兼容的reg。表達式作爲上面的代碼包含在PHP腳本中。
任何人都可以幫我嗎?我現在有點絕望了,因爲我現在在這一天的大部分時間裏都花費了...
感謝你們所有人。
工程就像一個魅力!謝謝。 – Ondrej
'$ search'通常會被轉義(參見'preg_quote');再加上你的表情會失敗,如果有另外一對是在5分鐘:5'對之前出現的第二個以5開始的元素。 -1 – Artefacto
2Artefacto:不幸的是。對於如何解決這個問題,有任何的建議嗎? – Ondrej