正则表达式传递带边界的动态值

Regex pass dynamic values with boundry

我试图在运行时将具有边界 \b 的动态值传递给 Regex 函数。 我的代码是:

 static void Main(string[] args)
        {
            string sent = "Accelerometer, gyro, proximity, compass, barometer, gesture, heart rate";

            string match = "gyro";
            string bound = @"\b";

            if (Regex.IsMatch(sent, @"\bgyro", RegexOptions.IgnoreCase))
            {
                Console.WriteLine("match is in the sentence");
            }
            else if (Regex.IsMatch(sent, bound+match, RegexOptions.IgnoreCase))
            {
                Console.WriteLine("match is in the sentence");
            }

            Console.WriteLine(bound+match); outputs \bgyro
            Console.ReadLine();
        } 

首先,if 条件将为真,因为我正在传递要直接匹配的模式。但是当我试图将要匹配的模式传递给第二个条件时,它将是错误的。我试图在控制台中写入绑定变量,但它也不会在控制台中打印任何值。有人可以给我一个解决方案吗?

因为 @,您的第一个正则表达式有一个黑色斜杠后跟字母 b。第二个具有代表退格的字符。就在前面放一个@

string bound = @"\b";