PHP正则表达式空格或换行符之前或之后

时间:2014-09-16 10:32:48

标签: php regex newline space

我需要在几行伪代码中检测开始和结束的位置。

基本上,如果单词" start"或者单词" end"之前和之后都有空格或换行符,我需要记录比赛。

空格/换行符很重要,因为开始或结束可能是开始和结束之间出现的内容的一部分,即

start
 start_time = 2
  end_time = 5
end

到目前为止尝试了

preg_match('/((\s)|( *)(start)(\s)|( *))|((\s)|( *)(end)(\s)|( *))/i',
$line, $matches, PREG_OFFSET_CAPTURE);

......和各种变化。

1 个答案:

答案 0 :(得分:0)

您可以使用此正则表达式捕获此块:

(?<= |\A)start(?=\s)[\s\S]*(?<=\s)end(?=\s|\z)

RegEx Demo