代码之家  ›  专栏  ›  技术社区  ›  Radu

正则表达式与记事本中的换行符不匹配++

  •  0
  • Radu  · 技术社区  · 14 年前

    <!-- Start Comment
    
    content spanning several lines here
    
    End Comment -->
    

    我想这样的方法可以达到目的:

    (<!-- Start Comment).*(End Comment -->)
    

    但是 .

    3 回复  |  直到 6 年前
        1
  •  0
  •   Matthew Cole    14 年前

    似乎Notepad++处理新行的能力不太好。不过,本页有一些创造性的解决方法:

    http://www.powercram.com/2009/08/notepad-guide-to-using-regular.html

        3
  •  1
  •   Fuzzee Lowgeek    8 年前

    事实上,我用这样的方法成功地做到了:

    (?s)BEGINNING-TEXT(.*)FINAL-TEXT
    

        4
  •  1
  •   Colm Bhandal    4 年前

    简单的方法

    注: 在一个更复杂的例子中,如果 其他 你的正则表达式中的点 要匹配换行符,可以将其替换为[^\r\n],意思是“匹配所需的任何内容” 一条新线”。

    复杂的方式

    您可能不想使用“密码”。匹配“换行符”设置。也许这不是你的事。那样的话,还有另外一种方法,但有点老套。继续读下去。

    . :

    (?:\s|.)*
    

    ?:

    因此,对于上面的例子,我们可以用:

    (<!-- Start Comment)(?:\s|.)*(End Comment -->)
    

    (<!-- Start Comment)((?:\s|.)*)(End Comment -->)