1

有人可以解释如何让这个正则表达式工作吗?我正在尝试使用这个字符串:

"Test0/1"

并将其变成:

"Test0\/1"

我正在使用它,但它不起作用:

var test = Regex.Replace("Test0/1", @"/", @"\/");

它不断地给我

"Test0\\/1"

然后我想获取字符串的结果并将其放入 Regex 语句中,如下所示:

var match  = new Regex(test).Match(myString);

所以字符串'test'必须是一个有效的正则表达式。

基本上我想要做的是从设备中取出一个接口列表,从中创建一个正则表达式语句,然后使用该正则表达式来比较我的代码中其他内容的结果。例如,由于接口被格式化为“FastEthernet0/1”的方式,它导致我的正则表达式失败,因为您必须转义所有正斜杠。我必须即时构建这个正则表达式,因为每个设备都会有一组不同的接口。

4

1 回答 1

1

这是 Visual Studio 自动为\您转义的功能。请看以下问题:C# 中变量名中@ 字符的用途/含义是什么?. 删除@符号 from@"\"会将字符串转换为"\\".

于 2013-03-13T16:21:14.023 回答