1

正規表現を使用して、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

正規表現を機能させるには、何を変更する必要がありますか?

4

1 に答える 1

2

ピリオドは正規表現で特別な意味を持つため、パターンでエスケープする必要があります。

[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
于 2013-06-25T20:45:22.133 に答える