簡體   English   中英

正則表達式會選擇所有內容,直到下一場比賽為止,包括換行

[英]Regex select everything up until next match including new lines

我試圖捕獲下面的對話,但是正則表達式僅捕獲一行,我希望它捕獲任何人說的整個短語,直到下一個人說其他任何話。 如果我使用/ s設置,則'。+'將捕獲所有內容,直到文件結尾,直到下一個匹配為止

我是正則表達式的新手,對不起任何不好的解釋

這就是我到目前為止

正則表達式:

/([0-9]{2}\/[0-9]{2}\/[0-9]{2} [0-9]{2}\:[0-9]{2}\:[0-9]{2}: (.+):) (.+)/

我想要的是

Regex101小提琴

我將同時使用\\ 2和\\ 3來捕獲誰說過的短語以及在for循環中說的短語,以便我可以通過文本進行挖掘

使用模式提取,然后使用一些LINQ進行處理:

var pattern = "^[0-9]{2}/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}: (.+?): ((?:[^/]+(?:\n|$))+)";

var data = Regex.Matches(src, pattern, RegexOptions.Multiline).Cast<Match>().Select(m => new { who = m.Groups[1].Value, text = m.Groups[2].Value});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM