簡體   English   中英

正則表達式匹配模式后的單詞

[英]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.

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