C# 将正则表达式更改为与dot'一起使用;南卡罗来纳州#
我使用正则表达式将我的G代码分离为单独的X、Y、Z、E、F命令。 使用下面的正则表达式可以使用逗号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#中的字符串,您必须转义
[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)代码>