[英]Regex to match words following a pattern
我不知道標題的措辭,所以我將在這里進行解釋。 我有這樣的示例文本:
1號線
行中的內容和文本。
這是一段。2號線
那些為這一行。
另一段3號線
更多內容。4號線
更多內容...
如何提取段落? 我嘗試了這個:
(?:Line \\d{1,3})(.*?)(?:Line \\d{1,3})
該段與奇數段匹配,例如第1、3、5段等。我正在使用C#,但這是正則表達式,因此我認為不會有什么大的不同。
這是一個應該起作用的模式:
(Line \d+.*?)(?=Line|$)
這表示要匹配以Line
開頭的段落,然后匹配所有內容,直到到達下一個段落的開頭(即Line
) 或文本的結尾。 文本的結尾將出現在最后一段。
您還需要以點所有模式運行此正則表達式,如果沒有,則將.*
替換為[\\s\\S]*
。
如果您只想選擇沒有“ Line \\ d”模式的文本,則可以使用它。
這是對您的正則表達式的微調:
(?:Line \d+\n)(.*?)(?=\nLine \d+\n|$)
因為我們不能在后面使用通配符,所以我像您一樣使用非捕獲組,然后選擇文本,直到我們再次按下Line模式或文件結尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.