問題

正規表現 - preg_splitを使用して単語を分割する必要があります

 ----------------------- Page 1-----------------------
text of page 1


----------------------- Page 2-----------------------
text of page 2


----------------------- Page 3-----------------------
 text of page 3

 

各ページのテキストを配列に展開する必要があります。

 array( [0]=> "text of page 1", [1] => "text of page 2",[2]=>"text of page 3")
 

私は次の正規表現を使用した

 ((7[-])(page)( )[1-100](7[-]))
 

  ベストアンサー

Pの前とeの後に常に1つのスペースがあり、数字と-の間にスペースがないと仮定すると、このようなことができます。

 \s*-+ Page \d+-+

 
  • \s* は前のページの末尾の空白と一致します。
  • -+ Page \d+-+--------- Page x-----------行と一致します
  • 各分割に先行する新しい行がないように、

split 配列の最初の要素は空の文字列あるいは空白になり、破棄されることに注意してください。

デモ

  同じタグがついた質問を見る

phpregexlaravelcodeigniterpreg-split