Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将正则表达式更改为与dot'一起使用;南卡罗来纳州#_C#_Regex_Printing_3d_G Code - Fatal编程技术网

C# 将正则表达式更改为与dot'一起使用;南卡罗来纳州#

C# 将正则表达式更改为与dot'一起使用;南卡罗来纳州#,c#,regex,printing,3d,g-code,C#,Regex,Printing,3d,G Code,我使用正则表达式将我的G代码分离为单独的X、Y、Z、E、F命令。 使用下面的正则表达式可以使用逗号 [GMXYZEF][-+]?[0-9]+(,[0-9]+)? G1 X-5300 Y5110 E117440 但如果我把逗号换成点,它就不起作用了 G1 X-5.300 Y5.110 E1.17440 我需要在正则表达式中更改什么才能使其工作?正则表达式中有句点,因此您需要在模式中转义它: [GMXYZEF][-+]?[0-9]+(\.[0-9]+)? 当然,要将其用作C#中的字符串,您必须转义

我使用正则表达式将我的G代码分离为单独的X、Y、Z、E、F命令。 使用下面的正则表达式可以使用逗号

[GMXYZEF][-+]?[0-9]+(,[0-9]+)?

G1 X-5300 Y5110 E117440

但如果我把逗号换成点,它就不起作用了

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

认真地您没有尝试将正则表达式中的
更改为
\。
??是的,但现在我知道这是正确的。但我认为这不起作用,因为我正在使用convert.todouble dosent工作。现在我知道我需要把点改成逗号。那么我该怎么做呢?解决了这个离线代码的问题<代码>字符串结果=Regex.Replace(readContents,“[.]”,“,”,RegexOptions.IgnoreCase)