正規表現を使用して、G コードを個別の X、Y、Z、E、F コマンドに分けています。以下の正規表現を使用すると、コンマで機能します。
[GMXYZEF][-+]?[0-9]+(,[0-9]+)?
G1 X-5,300 Y5,110 E1,17440
しかし、コンマをドットに切り替えると、うまくいきません。
G1 X-5.300 Y5.110 E1.17440
正規表現を機能させるには、何を変更する必要がありますか?
ピリオドは正規表現で特別な意味を持つため、パターンでエスケープする必要があります。
[GMXYZEF][-+]?[0-9]+(\.[0-9]+)?
もちろん、これを C# で文字列として使用するには、バックスラッシュをエスケープするか、逐語的な文字列を使用する必要があります。
var regex = new Regex("[GMXYZEF][-+]?[0-9]+(\\.[0-9]+)?"); // escaped backslash
var regex = new Regex(@"[GMXYZEF][-+]?[0-9]+(\.[0-9]+)?"); // verbatim string