我正在尝试从一行 gcode 中提取数据,它看起来像以下任何一种:
G01 X10. Y20. Z3.0 F15.
G00X.500Y-10.
G01 Y10.X20.150
现在我已经创建了与组完美匹配的正则表达式:
(G|M|X|Y|Z|I|J|K|F)(?<val>-?\d*\.?\d+\.?)
这似乎工作得很好。我为每个结果得到三组数据,例如:
G01 X10. Y20. Z3.0 F15.
G01 | G | 01
X10. | X | 10.
Y20. | Y | 20.
Z3.0 | Z | 3.0
F15. | F | 15.
我想要做的是能够检查输入字符串中有哪些值,这样我就可以提取数据并发出位置命令。以上面的例子为例,我想只提取 X、Y 和 Z 值,以便创建它们的向量。当我拥有所有 3 个值时,这很容易做到,但是如果输入字符串为 ,我如何检查第一组中是否存在值G01 X10. Y5.0
?