2011-08-03 25 views
1

サブパターンを使用せずに文字列aaaを抽出することはできますが(まだregexpを使用していますか?)正規表現で文字列を抽出するには?

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

更新

  • 先読みおよび後読みは、第二の溶液、他のですか?

私はちょっとした正規表現の選択肢を見つけようとしています!

+0

ただ明確にする:あなたは^ H^H^H^Hは、部分文字列ではなく、正規表現を使用して、シャープ記号の間のテキストを取得CAPTしたいですindexOf呼び出しではなく、サブパターンを使用しないでください。 –

+0

可能であれば... – danidacar

+0

Qtaxは良い答えがあります。私は他のことを考えようとします。 :) –

答えて

4

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

しかし、なぜあなたはキャプチャグループを使用したくないでしょうか?

+0

通常、部分文字列を見つけて境界線を削除するだけです – danidacar

1

代替がためにルックアヘッド/ルックの背後にアサーション:

echo preg_replace('/^.*?#|#.*?$/s', '', 'abc#aaa#abc'); 
関連する問題