用另一个发现使用替换文本一个

用另一个发现使用替换文本一个

问题描述:

我想找到4000所有的数字4999,并与7用另一个发现使用替换文本一个

例如更换领先4:

4000 -> 7000 
4015 -> 7015 
4987 -> 7987 

我试着用7\1更换4\d\d\d\d ,但它没有奏效。

+2

[这已在meta上讨论过](http://meta.stackexchange.com/questions/188408/give-me-teh-regez-questions) – user000001

尝试低于notepad++

搜索4(\d\d\d)7\1取代。

搜索(?<!\d)4(\d{3})(?!\d)7\1取代。

说明

(?<!\d)  # Negative lookbehind: check if there is no digit preceding 4 
4   # match 4 
(   # start group 1 
    \d{3} # match 3 digits 
)   # end group 1 
(?!\d)  # Negative lookahead: check if there is no digit following the 3 digits 

更换:\1指组1

enter image description here

虽然 Tim的解决方案是更好:P

+1

在记事本++中不起作用 – gruber

+1

@gruber我使用NP ++并测试过出来,一定要检查在“搜索模式” – HamZa

+1

“正则表达式”这也将改变40000 70000 ...... –

搜索\b4(\d{3})\b并用7\1替换,使用正则表达式替换模式。

word boundaries确保您不会意外地匹配1400040000