я пытаюсь извлечь данные из строки 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
?