这是一个创建于 3550 天前的主题,其中的信息可能已经有所发展或是发生改变。
例如
```python
s = '''
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 5px; background-color: #f5f5f5; padding-left: 5px; padding-right: 5px; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 5px" class="cnblogs_code">
<pre><span style="color: #000000">@count_time()
</span><span style="color: #0000ff">def</span><span style="color: #000000"> test():
sleep(</span>0.5<span style="color: #000000">)
</span><span style="color: #0000ff">if</span> <span style="color: #800080">__name__</span> == <span style="color: #800000">'</span><span style="color: #800000">__main__</span><span style="color: #800000">'</span><span style="color: #000000">:
test()</span></pre>
</div>
'''
```
想把div pre之间的片段弄出来,写到<div.*>\s*<pre>.* 就写不动了。
各位给支个招,谢谢!
12 条回复 • 2015-02-01 11:41:21 +08:00
|
|
1
RIcter 2015-01-31 23:37:05 +08:00 via iPad 1
\s\S
|
|
|
3
RIcter 2015-01-31 23:55:34 +08:00 via iPad
@ inevermore \S是各种空白字符,比如\n\t之类的,而\s是^\S
|
|
|
4
sneezry 2015-02-01 00:00:45 +08:00
楼主问题之外,div用非贪婪是不是更好一点?
|
|
|
5
SolidZORO 2015-02-01 00:47:44 +08:00 2
<div(.|\n)*</pre>
匹配包含\n在內的任何字符用 (.|\n)。
|
|
|
6
lujjjh 2015-02-01 02:26:59 +08:00 via Android
re.S re.DOTALL Make the '.' special character match any character at all, including a newline; without this flag, '.' will match anything except a newline.
|
|
|
7
dddd 2015-02-01 09:38:50 +08:00
编译标识
re.M (MULTILINE) 多行匹配,影响 ^ 和 &
|
|
|
8
dddd 2015-02-01 09:39:38 +08:00
|
|
|
9
dddd 2015-02-01 09:43:26 +08:00
@ RIcter \S是各种空白字符????????????????????????????
|
|
|
10
RIcter 2015-02-01 09:45:50 +08:00 via iPhone
@ dddd 噢噢噢噢噢才发现说反了OAQ… 居然一群人没有一个发现的orz
|
|
|
11
fising 2015-02-01 11:05:15 +08:00 via iPad
@ RIcter 我第一眼就发现你不对了。另外除了使用\s,还可以使用原声换行
|