我是Notepad ++的新手,需要一些查找和替换功能方面的帮助。我有一个CNC机器的代码,如下所示:
G1 X0.625 Z1.242 F500.0
G1 Z0.099 A358.475 F500.0
G1 X0.542 Z1.247 F500.0
G1 Z0.100 A356.949 F500.0
G1 X0.458 Z1.254 F500.0
G1 Z0.102 A355.424 F500.0
G1 X0.375 Z1.263 F500.0
我需要找到包含X的每一行,并将F500.0的值替换为F5.0。我应该使用什么语法?提前谢谢。
答案 0 :(得分:2)
我认为这会有效,但这取决于数据的可变性:
(G1[ ]+X.+[ ]+[A-Z0-9.]+[ ]+)F500\.0
并替换为
\1F5.0
这收集F500.0左边的所有内容(。是得到一个文字句点。我输入一个文字G1,然后是空格,然后是X后跟任何东西,然后是空格,然后是单词字符和数字以及句点重复,最后是F500.0。
我用\ 1替换它,这是在括号中收集的东西,然后是F5.0。
参考:NotePad++ Regular Expression Syntax
更新:添加了NotePad ++正则表达式语法
的链接答案 1 :(得分:1)
搜索:(X.*)F500\.0
并替换为:\1F5.0
答案 2 :(得分:0)
在第一个字段中按ctrl+h
放置您想要找到的内容,在第二个放置您要替换它的内容。
答案 3 :(得分:-2)
Notepad ++使用basic regular expression syntax。因此,您将尝试将其用作Perl兼容正则表达式(PCRE)时遇到很多问题。
执行此操作的最佳方法是使用实际为这些类型的任务设计的工具。 Sed,或perl one liner。例如:
sed -i -r 's/(X.*)F500\.0/\1F5.0/g' yourFile
-i
开关用于就地编辑,-r
用于扩展正则表达式语法。当然,在windows上设置sed很烦人。
所以,你可能会有一个小python或perl脚本更好的运气。另一个选择是记事本++宏。
修改强>
正如M42所指出的,记事本++实际上支持分组kind of。