2014-02-18 51 views
1

我試着取兩個詞在此字符串,第一個和結尾:正則表達式PCRE刪除一些文本

radius-bottom-left-bgc 
radius-bottom-left-l 
radius-bottom-left-bgc 
radius-bottom-left-l 
etc... 

I need keep just the middle ? 
top-left 

$display_prop= preg_replace('/^(\w{6})\-(\w{3,6})\-(\w{4,5})\-(\w{6})$/','$2-$3', $display_prop); 
echo $display_prop.'<br>'; 

我的回波顯示

radius-top-left-bgc radius-top-right-bgc radius-bottom-right-bgc radius-bottom-left-bgc radius-top-left-l radius-bottom-right-l

什麼是錯的機智我的正則表達式? 感謝

+0

您最後一個捕獲組與您的示例不匹配..您最後一個捕獲組是'(\ w {6})',但對於您的示例數據,它應該是'(\ w {1,3}) '。修復它,它應該工作。 :) – MElliott

+0

謝謝,這只是很好:) 我不明白爲什麼我沒有看到? – user2636471

回答

0

您上次捕獲組不匹配您的例子..

您上次捕獲組爲(\w{6}),但您的示例數據應該是(\w{1,3})

解決這個問題,它應該工作。 :)

+0

謝謝,它是固定的 – user2636471

+0

偉大的!如果這是你的問題的答案,那麼請選擇它作爲答案。謝謝。 :) – MElliott