我試圖反轉這個表達式:([0-9]{14})
, 所以所有的14位數字後跟一個空格。正則表達式去除任何不是14位數字後跟空格
我看上去無處不在,看來最好的方法應該是使用負面預測。
但是,當我嘗試應用我的案件>>(?!([0-9]{14}))
,它不起作用。
我在做什麼錯?
我會appreaciate任何意見,謝謝。
重點是刪除所有不是14位數字的文本塊,同時保留這些14位塊。
我試圖反轉這個表達式:([0-9]{14})
, 所以所有的14位數字後跟一個空格。正則表達式去除任何不是14位數字後跟空格
我看上去無處不在,看來最好的方法應該是使用負面預測。
但是,當我嘗試應用我的案件>>(?!([0-9]{14}))
,它不起作用。
我在做什麼錯?
我會appreaciate任何意見,謝謝。
重點是刪除所有不是14位數字的文本塊,同時保留這些14位塊。
這在任何地方如果要刪除14位數字之後的空格,請使用(\b\d{14})|.
並替換爲$1
。
的模式匹配和捕獲(我們可以參考在替換模式與捕獲backreference文本)的14位的塊,然後一個空格作爲全詞由於\b
(a word boundary)。如果未找到該文本,除換行符以外的任何字符都與.
匹配,並且未被捕獲(我們不能用反向引用來引用它)。因此,當我們用反向引用替換$1
時,我們只是用一個空格來恢復匹配的14位數字組塊。
爲了獲得清潔視圖,刪除所有空行:Edit
>Line Operations
>Remove Empty Lines
。
如果可以有多個連續的14位塊,然後使用一個空格,只需使用'$ 1 |'替換模式,並在上述第一次搜索和替換之後,運行第二個後處理操作,用換行符替換'|' '\ N'。 –
你能否澄清你在做什麼?在你的問題中,*否定*意味着什麼?刪除與[([0-9] {14})'不匹配的所有內容?突出顯示與其不匹配的所有內容?只是獲取那些不匹配它的子字符串?請具體說明。見['[0-9] {14}(* SKIP)(?!)|(?:(?![0-9] {14})。)+'](https://regex101.com/r/fP4xH4/1)。或[[0-9] {14} |(。)' - >'$ 1'](https://regex101.com/r/fP4xH4/2)。什麼是語言,BTW? –
嗨, 我想選擇什麼不是一個14位數字後跟一個空格。 所以一切都不匹配'([0-9] {14})'這個。 我沒有使用任何特殊語言,只是記事本++或任何實時regExps。 – Yte
好吧,記事本+ ++意味着一個Boost庫。你只是搜索該文本,或者你想刪除它?什麼是最終目標?如果你想刪除所有其他的東西,只需使用'(\ b \ d {14})| .'並替換爲'$ 1'。 –