这是一个创建于 3439 天前的主题,其中的信息可能已经有所发展或是发生改变。
例如
```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
![RIcter](https://cdn.v2ex.com/avatar/0808/f7df/46773_normal.png?m=1673194849) |
|
1
RIcter 2015-01-31 23:37:05 +08:00 via iPad 1
\s\S
|
![RIcter](https://cdn.v2ex.com/avatar/0808/f7df/46773_normal.png?m=1673194849) |
|
3
RIcter 2015-01-31 23:55:34 +08:00 via iPad
@ inevermore \S是各种空白字符,比如\n\t之类的,而\s是^\S
|
![sneezry](https://cdn.v2ex.com/avatar/02b2/9213/39707_normal.png?m=1676088787) |
|
4
sneezry 2015-02-01 00:00:45 +08:00
楼主问题之外,div用非贪婪是不是更好一点?
|
![SolidZORO](https://cdn.v2ex.com/avatar/54a3/67d6/985_normal.png?m=1679302523) |
|
5
SolidZORO 2015-02-01 00:47:44 +08:00 2
<div(.|\n)*</pre>
匹配包含\n在內的任何字符用 (.|\n)。
|
![lujjjh](https://cdn.v2ex.com/avatar/dc77/21d3/39892_normal.png?m=1642595970) |
|
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.
|
![dddd](https://cdn.v2ex.com/avatar/89af/9c8f/62462_normal.png?m=1403494336) |
|
7
dddd 2015-02-01 09:38:50 +08:00
编译标识
re.M (MULTILINE) 多行匹配,影响 ^ 和 &
|
![dddd](https://cdn.v2ex.com/avatar/89af/9c8f/62462_normal.png?m=1403494336) |
|
8
dddd 2015-02-01 09:39:38 +08:00
|
![dddd](https://cdn.v2ex.com/avatar/89af/9c8f/62462_normal.png?m=1403494336) |
|
9
dddd 2015-02-01 09:43:26 +08:00
@ RIcter \S是各种空白字符????????????????????????????
|
![RIcter](https://cdn.v2ex.com/avatar/0808/f7df/46773_normal.png?m=1673194849) |
|
10
RIcter 2015-02-01 09:45:50 +08:00 via iPhone
@ dddd 噢噢噢噢噢才发现说反了OAQ… 居然一群人没有一个发现的orz
|
![fising](https://cdn.v2ex.com/avatar/f3f0/eddd/73345_normal.png?m=1422713802) |
|
11
fising 2015-02-01 11:05:15 +08:00 via iPad
@ RIcter 我第一眼就发现你不对了。另外除了使用\s,还可以使用原声换行
|