2011-08-03 36 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'); 
相关问题