簡體   English   中英

Python Regex - 捕獲匹配和前兩行

[英]Python Regex - Capture match and previous two lines

參考上一個問題從文本文件中提取Python數據 - 腳本在預期數據匹配之前停止

如何捕獲匹配和前兩行? 我試過這個,但得到:

位置0的未終止子模式(第1行,第1列)

output = re.findall('(.*\r\n{2}random data.',f.read(), re.DOTALL)

你可以用

re.findall(r'(?:.*\r?\n){2}.*random data.*', s)

請注意,您不能使用re.DOTALL.*將匹配輸入的結尾,您將只獲得最后一次出現。

請參閱Python演示

圖案細節

  • (?:.*\\r?\\n){2} - 出現2次序列
    • .* - 除了換行符之外的任何0+字符,盡可能多(一行)
    • \\r?\\n - 行尾( CRLFLF
  • .*random data.* - 包含random data子串的行。

請參閱正則表達式演示

暫無
暫無

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

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