我正在尝试拆分多条消息(例如在聊天记录中),这些消息将由用户名和日期分隔。问题是使用g修饰符使正则表达式匹配所有直到最后一部分。这有点难以解释,所以这里有regex101可以更好地解释它。
感谢您的时间。
答案 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 强>