2011-08-03 72 views
1

我可以提取字符串aaa而不使用子模式(但仍使用正則表達式)?如何使用正則表達式提取字符串?

$str = 'abc#aaa#abc'; 
preg_match('/#(.*)#/', $str, $matches); 
print_r($matches); 

更新

  • 先行和回顧後是第二溶液,任何其它?

我只是想弄清楚一些正則表達式的替代品!

+0

只是要清楚:你要CAPT^H^H^H^H使用在一個正則表達式,而不是子得到英鎊符號之間的文本和indexOf調用,但不使用子模式? –

+0

如果有可能... – danidacar

+0

Qtax有一個很好的答案;我會試着去想別人。 :) –

回答

4

/(?<=#).*?(?=#)/

但是,爲什麼你不希望使用捕獲組?

+0

通常你只需要找到一個子字符串,然後刪除邊界 – danidacar

1

替代先行/向後看斷言:

echo preg_replace('/^.*?#|#.*?$/s', '', 'abc#aaa#abc'); 
相關問題