![正则表达式替换为 Notepad++](https://linux22.com/image/1371485/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%9B%BF%E6%8D%A2%E4%B8%BA%20Notepad%2B%2B.png)
在我的 XML 文件中,有很多以 STDSUP- 开头、后面跟着三个数字的子字符串。例如:STDSUP-123。我想用 CCDA 替换 STDSUP。有些子字符串中 STUSUP- 后面跟着非数字字符。我不想更改它们。因此,我在查找字段中使用了 STDSUP-\d\d\d,在替换为字段中使用了 CCDA-\d\d\d。但这三个数字被替换为 ddd。我只想替换 STDSUP,并且希望数字保持不变。
有什么帮助吗?
答案1
为了保持字符串的一部分完整,您需要在“查找”表达式中使用一个组,并在“替换”表达式中使用反向引用。
查找:STDSUP-(\d\d\d)
替换:CCDA-\1
答案2
从 Notepad++ 6 版开始,您还可以使用 PCRE 样式的捕获组分离匹配:
查找内容:(STDSUP-)(\d\d\d)
替换为:CCDA-$2