Regex 试图替换文本字符串的是记事本++;使用通配符

Regex 试图替换文本字符串的是记事本++;使用通配符,regex,notepad++,Regex,Notepad++,我正试图用记事本++替换kicad程序中的文本。我在使用通配符时遇到问题 我要找的这个字符串和这个类似 (fp_文本参考J2(at-8.30084 1.4004 270) J2是通配符,但不会更改,长度可以是2到5个字符) -8.30084可以是我想要更改为零的任何数字 1.4004可以是我想要更改为零的任何数字 270不会改变,无论数字是多少 最后,我希望字符串是 (fp_文本引用J2(0 0 270处)如果在“正确理解”中,您正在查找与之匹配的正则表达式,并将第一个和第二个(但不是第三个)数

我正试图用记事本++替换kicad程序中的文本。我在使用通配符时遇到问题

我要找的这个字符串和这个类似

(fp_文本参考J2(at-8.30084 1.4004 270)

J2是通配符,但不会更改,长度可以是2到5个字符)

-8.30084可以是我想要更改为零的任何数字

1.4004可以是我想要更改为零的任何数字

270不会改变,无论数字是多少

最后,我希望字符串是


(fp_文本引用J2(0 0 270处)

如果在“正确理解”中,您正在查找与之匹配的正则表达式,并将第一个和第二个(但不是第三个)数字替换为0。在不知道作为J2的令牌的有效字符是什么的情况下,我将假定它是任何非空格字符

您可以在替换字符串中引用a。这样您就可以捕获要保留的部分。(在下面的示例中,我还捕获字符串的其他未知部分,但这并不是必需的。)

正则表达式应该类似于:

(\S)\s\(at ([-+]?\d*\.?\d+) ([-+]?\d*\.?\d+) ([-+]?\d*\.?\d+)\)
\1 (at 0 0 \4)
您的替代者将是:

(\S)\s\(at ([-+]?\d*\.?\d+) ([-+]?\d*\.?\d+) ([-+]?\d*\.?\d+)\)
\1 (at 0 0 \4)

你能给出一个样本数据和你想要的输出吗?欢迎这么做!你尝试了什么?你到底有什么问题?你有错误吗?如果有,是哪些错误?事实上,你的问题太广泛了,无法简单回答。请查看页面顶部的“帮助”链接,了解如何在这里提出好问题。