代码之家  ›  专栏  ›  技术社区  ›  Peter Perháč

正则表达式:删除不以数字开头的行

  •  11
  • Peter Perháč  · 技术社区  · 16 年前

    我一直在用RegEx备忘表来解决这个问题,试图找出如何做到这一点,但我放弃了。。。我在记事本++中打开了这个冗长的文件,并希望删除所有不以数字(0..9)开头的行。我将使用N++的查找/替换功能。我只是提到这一点,因为我不确定N++使用的是什么正则表达式实现。。。非常感谢。

    1hello
    foo
    2world
    bar
    3!
    

    我想提取

    1hello
    2world
    3!
    

    不是:

    1hello
    
    2world
    
    3!
    

    5 回复  |  直到 16 年前
        1
  •  23
  •   YOU    16 年前

    你可以用电脑把那些线清理干净 ^[^0-9].* 但它会留下空行。

    记事本++使用闪烁,也使用它的正则表达式引擎来匹配这些。

    每一条生产线都有生产线(去除 行尾字符)。

    http://www.scintilla.org/SciTERegEx.html

        2
  •  8
  •   unwind    16 年前

    [^0-9] 是一个正则表达式,除了数字之外,它几乎可以匹配任何内容。如果你说 ^[^0-9] ^[^0-9].+ .

        3
  •  8
  •   moxn    16 年前

    ^[^\d].*

    更新 :

        4
  •  3
  •   Peter Perháč    14 年前

    还可以使用记事本++中的书签技术。不久前,我就开始从这个功能中获益(很久以前就有了,但最近才在UI中变得更加明显)。

    ^\D.*$ 然后选择全部标记。这将在左侧排水沟中放置蓝色圆圈,如大理石,这些是线书签。然后只需从主菜单中选择搜索->书签->删除书签行。

        5
  •  1
  •   codekitty    16 年前

    我不知道你在问什么。但是查找开头有数字的行的reg exp是 ^\d* ^[^\d]*

    推荐文章