2016-09-14 77 views
1

首先文本看起來像在此之前刪除的文字:=字符,在記事本++

Ab Yz=15,Cd Wx=2,Ef Tu=20,... 

我更換了所有,\r\n,所以文字是這樣的:

Ab Yz=15 
Cd Wx=2 
Ef Tu=20 

比我想只有=之後的數字和^.+[=]替換爲「空白」,我的結果只是20
記事本++認爲,整個文檔只有一個單ne,並且最後一個=並刪除之前的所有內容?
我該如何解決這個問題?哦,我如何刪除=之後的文字? (包括=)

編輯:我也試過^.+[\=],^.+(=)^.+(\=)但我得到了同樣的結果。

+2

取消選中'。匹配換行選項 – revo

+0

@revo yepp那工作,謝謝! – Selphiron

+0

@revo你想讓這個答案,所以我可以接受嗎?否則更多的答案會進來,我想。 – Selphiron

回答

2

我猜你在無意中檢查。匹配換行符選項,它使正則表達式中的.超出一行 - 它也將匹配換行符(AKA DOTALL修飾符)。所以你應該取消選中它。

此外,沒有必要在兩個單獨的步驟中完成這項工作。使用表達式[^=]+=(\d+),?\1\n

更換這會變成這樣一個輸入字符串:

Ab Yz=15,Cd Wx=2,Ef Tu=20,Ef Tu=20,Ef Tu=20,Ef Tu=20,Ab Yz=15,Cd Wx=2,Ef Tu=20,Ef Tu=20, 

要:

15 
2 
20 
20 
20 
20 
15 
2 
20 
20 
1

使用正則表達式左下方側面更換窗口,找到([A-Z]+) ([A-Z]+)=空字符串替換。

更多信息here

+0

感謝您的努力,但我已經得到了這部分:) 我想獲得'=' – Selphiron

+0

以後的數字我猜想要喝多少咖啡:) – gofr1

+0

@Selphiron嘿!你有沒有試過我的*全新*答案? :) – gofr1

0

改變這一切在一通,你可以這樣做:

  • 查找內容:(?:^|,)[^=]+=([^,]+)(?:,|$)
  • 替換:$1\r\n
  • 更換所有
+0

它不能正常工作,除非您將非捕獲組更改爲正向預覽並用'$ 1 \ n'替換替換字符串。 – revo

+0

@revo:對於換行符來說我錯過了,但是沒有必要去尋找前瞻。 – Toto

+0

[在這種情況下,需要查看](https://regex101.com/r/vA3vV6/1) – revo