Notepad++ Replace regex match for same text plus appending character

帅比萌擦擦* 提交于 2019-12-17 23:05:34

问题


I have a file with text and numbers with a length of 5 (i.e. 12000, 11153, etc.). I want to append all of these numbers with a 0. So 11153 becomes 111530. Is this possible in Notepad++?

I know I can find all numbers with the following regex: [0-9]{5}, but how can I replace these with the same number, plus an appending 0?

In the replacement box I tried the following things:

  • [0-9]{5}0 - Which it took literally, so 11153 was replaced with [0-9]{5}0
  • \10 - I read somewhere that \1 would take the match, but it doesn't seem to work. This will replace 11153 with 0
  • EDIT: \00 - Based on this SO answer I see I need to use \0 instead of \1. It still doesn't work though. This will replace 11153 with

So, I've got the feeling I'm close with the \1 or \0, but not close enough.


回答1:


You are very near to the answer! What you missed is a capturing group.

Use this regex in "Find what" section:

([0-9]{5})

In "Replace with", use this:

\10

The ( and ) represent a capturing group. This essentially means that you capture your number, and then replace it with the same followed by a zero.




回答2:


You can use \K to reset.

\b\d{5}\b\K

And replace with 0

  • \b matches a word boundary
  • \d is a short for digit [0-9]

See demo at regex101




回答3:


You are very close. You need to add a capturing group to your regex by surrounding it with brackets. ([0-9]{5})

Then use \10 as the replacement. This is replacing the match with the text from group 1 followed by a zero.



来源:https://stackoverflow.com/questions/35983330/notepad-replace-regex-match-for-same-text-plus-appending-character

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!