V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
miao
V2EX  ›  问与答

求一个正则写法, 匹配 (不包含某个词) 一整行

  •  
  •   miao · Jan 16, 2016 · 2313 views
    This topic created in 3755 days ago, the information mentioned may be changed or developed.
    举例说明,有如下片段文字, 我想用正则 删除 不带 keykeykey 的所有行

    xxx xxx a xxx xxx
    xxx xxx b xxx xxx
    xxx xxx c xxx xxx
    xxx xxx keykeykey xxx xxx
    xxx xxx d xxx xxx
    xxx xxx e xxx xxx
    xxx xxx keykeykey yyy yyy
    xxx xxx f xxx xxx
    xxx xxx gg xxx xxx

    处理后得到结果
    xxx xxx keykeykey xxx xxx
    xxx xxx keykeykey yyy yyy
    Supplement 1  ·  Jan 16, 2016
    @bin456789
    ^(?!.*key).*$
    via http://blog.csdn.net/maqingli20/article/details/7317925

    可以, 非常感谢


    @lhbc
    grep keykeykey file.txt > new.txt
    非常感谢。 刚好是大文件, 放服务器跑了。很实用
    9 replies    2016-01-17 15:03:24 +08:00
    hienchu
        1
    hienchu  
       Jan 16, 2016   ❤️ 1
    imn1
        2
    imn1  
       Jan 16, 2016   ❤️ 1
    你去锁搜一下“正则 排除”就能找到了
    一般是
    (?!(?:关键字 1|关键字 2|关键字 3)).*?

    (?!(?:关键字))[\s\S]*?
    这种写法,然后,前后扩充为一个完整的正则

    你这个试试 ^.*(?!(?:关键字)).*?$
    bin456789
        3
    bin456789  
       Jan 16, 2016   ❤️ 1
    lhbc
        4
    lhbc  
       Jan 16, 2016 via Android   ❤️ 1
    grep keykeykey file.txt > new.txt
    Kisesy
        5
    Kisesy  
       Jan 16, 2016   ❤️ 1
    你为啥不直接说,要保留带 keykeykey 的文本
    qqmishi
        6
    qqmishi  
       Jan 16, 2016   ❤️ 1
    换个思路简单的多,,,把带 keykeykey 的行输出到新文件,源文件删了就好了
    miao
        7
    miao  
    OP
       Jan 16, 2016
    @qqmishi 是的。已经解决


    @Kisesy 是的。 已经解决

    按 4 楼方法解决了
    yue9944882
        8
    yue9944882  
       Jan 16, 2016   ❤️ 1
    Perl 里这样就可以
    while($line!~s//keykeykey/){;}
    louk78
        9
    louk78  
       Jan 17, 2016
    你为啥不直接说,要保留带 keykeykey 的文本
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5181 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 05:40 · PVG 13:40 · LAX 22:40 · JFK 01:40
    ♥ Do have faith in what you're doing.