簡體   English   中英

用正則表達式替換Notepad ++中的文本

[英]Replacing text in Notepad++ with regex

我想翻譯在谷歌翻譯字幕和一切正常的話只有一個問題,它消除了逗號,從倍。 好,很好 我將其粘貼在Notepad ++上,並嘗試用正則表達式替換。 時間格式為:

00:00:44927 -->

並且應該是

00:00:44,927 -->

因此,我在“ 查找內容”字段上嘗試了此正則表達式:(\\d){2}(\\d){3}( -->)

並將其替換為字段:$1,$2 -->

搜索有效,但替換結果為: 00:00:47 : 00:00:47 : 00:00:47 看來$1代表第一個匹配項(\\d){2}的第一個數字是4和第二個匹配項(\\d){3}7

為什么呢

您需要將范圍量詞{n}放置在捕獲組中。 通過將它們放置在捕獲組之外,您可以告訴正則表達式引擎該組將被重復n次而不是令牌\\d

Find: :(\d{2})(\d{3})( -->)
Replace: :$1,$2$3

如果您願意,還可以使用環顧斷言來實現此目的。

Find: :\d\d\K(?=\d\d\d)
Replace: ,

你可以做

(?<=\d\d)(\d{3})(?= -->)

並替換為,$1

演示

你沒有捕捉\\d{3}只是\\d這就是為什么按照預期的正則表達式沒有工作。

暫無
暫無

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

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