RegEx以s / Ends开头

时间:2014-09-29 21:41:02

标签: php regex preg-match

我正在尝试preg_match“INCIDENT DETAILS”块并拼凑不同的正则表达式片段并没有让我到处都是。谢谢你的帮助。

>>ID Number: 0
>>
>>Employee Detail: 
>>
>>Vehicle: 0    , #
>>
>>Incident Details: Sample incident details. It may span any number of lines
>>and is always followed by a newline with '>>'
>>Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
>>Praesent vitae dignissim diam. Phasellus a vestibulum enim. Morbi dictum
>>
>>Comments: ADDITIONAL COMMENTS HERE
>>

3 个答案:

答案 0 :(得分:1)

(Incident\s*Details.*?)(?=>>\n)

试试这个。使用标记gs。请参阅演示。

http://regex101.com/r/nA6hN9/37

答案 1 :(得分:1)

一个可能的正则表达式是:

/>>incident details:[\s\S]+?\n>>\n/i

这将匹配">>事件详细信息"到下一个"空白" (保存>>)行。

但是我可能更喜欢explode换行并扫描它们,随时构建块。这会有点复杂,但理论上更强大。

答案 2 :(得分:0)

可能会工作 -

 # '~(?sm-)^Incident Details:\K(?:(?!>>(?:\r?\n|$)).)*~'

 (?xsm-)
 ^ Incident\ Details: \K 
 (?:
      (?!
           >>
           (?: \r? \n | $ )
      )
      . 
 )*