问题
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, so11153was replaced with[0-9]{5}0\10- I read somewhere that\1would take the match, but it doesn't seem to work. This will replace11153with0- EDIT:
\00- Based on this SO answer I see I need to use\0instead of\1. It still doesn't work though. This will replace11153with
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
\bmatches a word boundary\dis 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