簡體   English   中英

Notepad ++查找正則表達式,並替換為正則表達式

[英]Notepad++ find regex and also replace with regex

我有很多這樣的:

(278, 191, 825, 824, 3, <other code> ),
(282, 185, 326, 327, 4, <other code> ),
(284, 184, 545, 546, 3, <other code> ),
.
.
.
(314, 185, 340, 341, 4, <other code> ),

我想在每行的第一個數字的末尾添加0

例如: (278, //rest of code ), to (2780, //rest of code ),

我設法使用正則表達式找到匹配項: \\(.+\\, 1將突出顯示例如: (278, 1但不知道如何將其替換為(2780, 1對於其他數字也是如此

您應該可以輸入“查找內容”:

\(([0-9]+)\,

對於“替換為”:

\(\10,

“ \\ 1”是第一個捕獲組的內容。

在使用您的示例的Notepad ++中,這對我有用。

編輯

如果您需要正則表達式參考,這是一個很好的參考: https : //stackoverflow.com/a/22944075/1684623

當然,您可以通過匹配行的開頭( ^ ),使用\\d而不是[0-9]等來使此功能更強大/更清晰。

如果文件的左括號每一行的格式一致,后跟3個小數和一個逗號,則在Notepad ++中執行此操作的一種非常簡單的方法是使用“列編輯器”模式。

為此,請按住“ Alt”鍵,然后單擊鼠標左鍵以從文件的頂部到底部一直突出顯示逗號,然后在選擇所有逗號后,按Alt + C獲取出現“列/多選編輯器”。 然后輸入要插入的文本作為“ 0”,然后單擊“確定”。

請參閱下面的屏幕截圖:

記事本列選擇

這實際上將花費您幾秒鍾。 我已經使用了很多次,在執行這樣繁瑣的任務時,它將為您節省很多麻煩。

您需要在要重用的部分周圍的源正則表​​達式中插入() ,並在目標正則表達式中插入\\1 ,以將其放置在那里。

我不能說您的編輯器是否支持此功能,但這是通常的方法

您將需要一個捕獲小組

然后,在要使用的位周圍添加方括號,並在替換表達式中使用\\1來使用它。

類似於^\\(([0-9]+),因為您的find表達式可以解決問題,但是所需的replace表達式引入了一個新問題。您想要(\\10, ,,但這可能會嘗試獲得第10個捕獲組,而不是第一個捕獲組,后跟一個零。也就是說,很顯然,許多實現都可以實現您想要的,所以就足夠

使用記事本++替換:

Find:         ^(\()(\d+)

Replace with: \1\20

\\1是第一個匹配組; \\2是第二個匹配組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM