有人可以解释一下如何让这个正则表达式工作吗?我正试着拿这个字符串:
"Test0/1"
并将其转换为:
"Test0\/1"
我正在使用它,但它不起作用:
var test = Regex.Replace("Test0/1", @"/", @"\/");
它一直在给我
"Test0\\/1"
然后我想获取字符串的结果并将其放入Regex语句中,如下所示:
var match = new Regex(test).Match(myString);
因此字符串'test'必须是有效的正则表达式语句。
基本上我要做的是从设备中获取接口列表,从中创建一个正则表达式语句,然后使用该正则表达式来比较我的代码中的其他内容的结果。由于接口的格式为“FastEthernet0 / 1”,例如,它导致我的正则表达式失败,因为你必须转义所有正斜杠。我必须动态构建这个正则表达式,因为每个设备都有不同的接口集。
答案 0 :(得分:2)
这是Visual Studio自动代表您转义\
的功能。请看以下问题:What's the use/meaning of the @ character in variable names in C#?。从@
移除@"\"
符号会将字符串转换为"\\"
。