背景
我經(jīng)常使用sublime去處理很多文件, 利用強(qiáng)大的正則表達(dá)式, 將一些日志以及excel文本進(jìn)行格式化為特定內(nèi)容.
最近經(jīng)常遇到只保留我需要的行, 其他行刪除掉. 也就需要用到正則中的不等于, 找了好幾次, 覺(jué)得還是有必要記下來(lái)留用, 不用每次都去google了, 畢竟網(wǎng)上的文章也不是都是對(duì)的, 每次都找很久.
語(yǔ)法
當(dāng)我要找到不包含某些字符串(如test)時(shí), 可以使用
^((?!test).)*$
解釋
- 肯定式向前查找
匹配字符序列Start后跟一個(gè)空格和Test字符序列(不區(qū)分大小寫(xiě))
正則模式:Start(?= Test)
匹配字符序列some轩性,如果在同一句子中還存在字符序列some
正則模式:some(?=.some.)- 否定式向前查找
匹配字符序列Start后面不存在test字符序列
正則模式:Start (?!test)
匹配Start 后面不存在test的行
正則模式: ^.Start((?!test).)$- 肯定式向后查找
匹配前面有"rt"的字符序列Test
正則模式:(?<=rt )Test- 否定式向后查找
匹配前面沒(méi)有"rt "的字符序列Test
正則模式:(?<!rt) Test