Replacing digits immediately after a saved pattern

强颜欢笑 提交于 2019-12-02 14:03:11

问题


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

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