簡體   English   中英

通過正則表達式獲取兩個模式之間的所有行

[英]take all lines between two pattern by Regex

我用了

(?<=<li>)..(?=</li>)
像這樣只有一行:
pattern1 Everything pattern2
但它不適用於多行!
如何從中獲取所有內容和所有行(1,2,3,4,5):
(不需要空格)

 <pre> pattern1 line1 line2 line3 line4 line5 pattern2 </pre>

對於許多行,您可能需要選項re.DOTALL和/或re.MULTILINE

text = '''<pre>
pattern1
line1
   line2
      line3
   line4
line5
pattern2
</pre>'''

import re

result = re.findall('pattern1(.*)pattern2', text, re.DOTALL)

print('len:', len(result))
print(result[0].strip())

結果:

len: 1

line1
   line2
      line3
   line4
line5

暫無
暫無

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

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