正規表現は繰り返し発生する問題のようですが、問題の解決策がわかりませんでした。
私は多くの行(> 75 000)のファイルを持っており、その多くを2つの識別可能なパターン(starting_pointとending_point)の間で置き換えたいと思っています。私の正規表現の試み:
$filtered = preg_replace('%(#\sstarting_point).+(#\sending_point)%isU',$replacement,$2befiltered);
。\nを含む任意の文字になりました。行にほとんど何も含まれていないため、%..%を区切り文字として使用しましたが、%(/、$、-、 "、spaces、+、{、}を含むもの)がなく、「コンパイルに失敗しました:繰り返すものがありませんオフセットで...」。
しかし、私はそれを機能させることができないようです。php.iniのpcreが問題だと思いましたが、そうではないようです。?Uを使おうとしましたが、うまくいきませんでした。と同じ 。*?私がいくつかの場所で読んだように。たぶん私はそれらを間違って書いただけですが..
とにかく、これで頭をかいて喜んでいる人はいますか?
テキストの例(...は他の多くの行を意味します):
whatever
lines
you
can
...
# starting_point
lines/*-
to$_,"
delete+{}=@
...
# ending_point
some
other
lines
...