将多个多行消息拆分为匹配项

时间:2016-05-23 03:00:40

标签: regex

我正在尝试拆分多条消息(例如在聊天记录中),这些消息将由用户名和日期分隔。问题是使用g修饰符使正则表达式匹配所有直到最后一部分。这有点难以解释,所以这里有regex101可以更好地解释它。

感谢您的时间。

1 个答案:

答案 0 :(得分:2)

使用lazy

制作正则表达式?
(.*?), (\[\d+\.\d+\.\d+ \d+:\d+])\n([\s\S]*?)

<强> Regex Demo

此外,使用g修饰符时不需要最后一部分。这就足够了

(.*?), (\[\d+\.\d+\.\d+ \d+:\d+])

<强> Regex Demo

如果要捕获消息,则可以使用

 (.*?), (\[\d+\.\d+\.\d+ \d+:\d+])\n([\s\S]*?)(?=(?:(?:.*?), (?:\[\d+\.\d+\.\d+ \d+:\d+]))|$)

<强> Regex Demo