推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
inevermore
V2EX  ›  Python

含有换行符的正则表达式如何匹配?

  •  
  •   inevermore · Jan 31, 2015 · 16468 views
    This topic created in 4294 days ago, the information mentioned may be changed or developed.
    例如
    ```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 replies  •  2015-02-01 11:41:21 +08:00
    RIcter
    RIcter
    Jan 31, 2015 via iPad❤️1
    1
    \s\S
    inevermore
    inevermore
    OP
    Jan 31, 2015
    2
    @RIcter 解决了,为啥 . 和 \s组合不管用?
    RIcter
    RIcter
    Jan 31, 2015 via iPad
    3
    @inevermore \S是各种空白字符,比如\n\t之类的,而\s是^\S
    sneezry
    sneezry
    Feb 1, 2015
    4
    楼主问题之外,div用非贪婪是不是更好一点?
    SolidZORO
    SolidZORO
    Feb 1, 2015❤️2
    5
    <div(.|\n)*</pre>

    匹配包含\n在內的任何字符用 (.|\n)。
    lujjjh
    lujjjh
    Feb 1, 2015 via Android
    6
    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
    dddd
    Feb 1, 2015
    7
    编译标识

    re.M (MULTILINE) 多行匹配,影响 ^ 和 &
    dddd
    dddd
    Feb 1, 2015
    8
    @dddd 手快错 影响 ^ 和 $
    dddd
    dddd
    Feb 1, 2015
    9
    @RIcter \S是各种空白字符????????????????????????????
    RIcter
    RIcter
    Feb 1, 2015 via iPhone
    10
    @dddd 噢噢噢噢噢才发现说反了OAQ…
    居然一群人没有一个发现的orz
    fising
    fising
    Feb 1, 2015 via iPad
    11
    @RIcter 我第一眼就发现你不对了。另外除了使用\s,还可以使用原声换行
    sujin190
    sujin190
    Feb 1, 2015
    12
    @dddd +1 多行匹配
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1749 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 17:28 · PVG 01:28 · LAX 09:28 · JFK 12:28
    ♥ Do have faith in what you're doing.