使用$ @添加额外字符的正则表达式常量?

时间:2017-08-03 18:11:18

标签: c# regex

我正在使用以下代码片段从单词列表构造一个正则表达式字符串:

foreach (String w in ar)
        {
            c= $@"\b{w}\b|";  //**
            result = result + c;

        }

数组ar中的第一个单词是“can”。在执行星号行后检查调试器中c的值时,调试器显示以下值。

"\\bcan\\b\b|"

我想我有点理解为什么反斜杠加倍,但我不明白为什么它在垂直条之前的末尾包含一个额外的“\ b”。

好的,我已经尝试了评论中建议的实验。 将此代码放入例程

            foreach (String w in ar)
        {
            System.Diagnostics.Debug.WriteLine("w='" +w + "'");
            c= $@"\b{w}\b|";
            System.Diagnostics.Debug.WriteLine("c='" + c + "'");
            result = result + c;

        }

我在控制台中得到了这个结果:

w='can'
c='\bcan\b|'

但是调试器仍然在监视表达式中显示异常字符串值。有人可以解释那是什么吗?

enter image description here

0 个答案:

没有答案