正則表達式匹配字符串然后接下來的兩行

[英]Regular expression match string and then next two lines


I want to match a following string:

我想匹配以下字符串:

  window.universal = {
    yada yada ydada.....
  };

The following return the first line. I need next two as well

以下返回第一行。我也需要接下來的兩個

re.search(r'.*window.universal.*', content).group(0)

I tired re.MULTILINE, \s

我累了re.MULTILINE,\ s

2 个解决方案

#1


2  

  • You need DOTALL.
  • 你需要DOTALL。
  • also the two .* will give you almost everything with dotall.
  • 這兩個。*幾乎可以用dotall給你。

try this:

嘗試這個:

 re.search(r'window.universal = {.*?};',content,re.DOTALL).group(0)

#2


1  

You can use this regex: r'(?s).*pattern.*'

你可以使用這個正則表達式:r'(?s)。* pattern。*'

  • re.M (multi-line) <<< we don't need this option
  • re.M(多線)<< <我們不需要這個選項< li>
  • re.S (dot matches all)
  • re.S(點匹配全部)

注意!

本站翻译的文章,版权归属于本站,未经许可禁止转摘,转摘请注明本文地址:https://www.itdaan.com/blog/2013/07/31/716050ad3fba57650b596851ff82cab7.html



 
粤ICP备14056181号  © 2014-2020 ITdaan.com