2016-06-17 15 views
0

正規表現に問題があります。 "(第1章)"コンストラクトで始まったテキスト中の文字列を削除しようとしましたが、動作しません。サンプルのためPHP regexp部分文字列の後に文字列を削除する方法

$line = preg_replace('/(\(chapter.*$/', '', $line); 

テキスト:あなたはchapter` `を探しているが、あなたのサンプルテキストは` charter`を持っており、あなたのパターンが終端されていない( ``キャプチャグループを持っている、作る

(charter 1)sample text, sample text. 
(charter 2)sample text, sample text. 
(charter 3)sample text, sample text. 
+2

正規表現の構文エラー –

+1

の場合は、複数行の文字列か、いくつかの別々の文字列ですか?また、この文字列/各文字列の出力はどうなりますか? '/^\(charter \ h + \ d + \) 。*/m "もしそれが複数行の文字列ならば、 –

+0

多分' \((charter [^)] +)\)。* '。 https://regex101.com/r/wB1kC4/2 – chris85

答えて

0
$str = "(charter 1)sample text, sample text."; 
$str = preg_replace("#^\(charter \d*\)#", "", $str); 

// output: sample text, sample text. 
関連する問題