问题
Searched pattern looks like text9
I search for (text)9
I want to replace with \15
so that I would get text5
but instead it's just giving me text
.
Any other character works except for digits.
回答1:
As it turns out, the PCRE-style back-references do not work.
So, you have to use \015
to replace with the text captured with the first capturing group (\01
) and 5
.
Since there cannot be more than 99 capturing groups, and both the digits after \
are treated as back-reference group number, \01
is interpreted as the reference to the first group, and the rest are literal digits.
回答2:
The replacement term \15
is being interpreted as "group 15" - you must escape the "5":
Try replacing with \1\\5
, or if that doesn't work (I don't have textwrangler handy) use a look behind:
Search: (?<=text)9
Replace: 5
The look behind doesn't consume input, so only the "9" is matched.
来源:https://stackoverflow.com/questions/31885314/replacing-digits-immediately-after-a-saved-pattern