如何使用regexp提取字符串


How to extract a string with a regexp?

我可以提取字符串aaa不使用子模式(但仍然使用regexp)?

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

  • 向前看和向后看是第二个解决方案,还有其他的吗?

我只是想找出一些regexp替代方案!

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

但是为什么不使用捕获组呢?

前向/后向断言的替代方案:

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