正则表达式 preg_split

Regular expressions preg_split

正则表达式 - 需要使用 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之后总是有一个space,并且在space之间没有space号码和 -s.

\s*-+ Page \d+-+\n
  • \s* 匹配上一页尾随的白色space。
  • -+ Page \d+-+ 匹配 --------- Page x-----------
  • \n 这样每个拆分都没有前导新行。

注意拆分数组的第一个元素会是空串或者白色space,可以舍弃

Demo