我有應包含的8位數字的形式那麼只有條目的分號,然後一些文本的文本文件:正則表達式查找行其中第8位是不是一個分號
12345678;some more text
我希望找到那些不是以8個數字開頭的條目,然後是分號。我能找到的正項與
^[0-9]{8};.*
但我不知道如何「扭轉」我正則表達式...
任何幫助表示讚賞!
謝謝大家。
我有應包含的8位數字的形式那麼只有條目的分號,然後一些文本的文本文件:正則表達式查找行其中第8位是不是一個分號
12345678;some more text
我希望找到那些不是以8個數字開頭的條目,然後是分號。我能找到的正項與
^[0-9]{8};.*
但我不知道如何「扭轉」我正則表達式...
任何幫助表示讚賞!
謝謝大家。
這將是
^(?![0-9]{8};)
此正則表達式僅匹配,如果它無法在字符串的開始匹配8個數字和一個分號(使用negative lookahead assertion)。
如果您希望正則表達式與該行中的文本匹配(如果滿足此條件),則可以在lookahead之後添加.*
。沒有它,你只會得到一個真/假的結果。
根據正則表達式庫使用:^[0-9]{8}[^;].*
簡單的方法是反轉的比賽條件,而創造轉化的正則表達式
grep -v '^[0-9]{8};' file
爲什麼不否定你的病情在你的語言?似乎是最簡單的方法 –
我在記事本++中使用這個正則表達式,所以我不包裝的正則表達式在.NET或Java等。 – DotNetDeveloper