在Regex中使用变量

本文关键字:变量 Regex | 更新日期: 2023-09-27 18:00:05

我正试图在正则表达式模式中使用一个变量。这个变量将永远改变,永远不会相同。

每当我试图在模式中使用它时,它都会给我一个错误。由于im使用的变量是一个路径,它将"''"视为转义序列,无论哪个字母,例如"c:''users"都将被视为"''u",这给了我一个错误。

我想知道是否有办法解决这个问题,就像我说的,这个变量总是在变化,硬编码任何值都不起作用。

以下是我现有的正则表达式模式代码:

public static Boolean validateFilePath(String dstPath, String newFileDstPath)
{
   Boolean blnflag = false;
   Match m = Regex.Match(newFileDstPath, @""+ dstPath + "");
   if (m.Success)
   {
      blnflag = true;
   }
   return blnflag;
}

在Regex中使用变量

是否使用Regex.Eescape方法?看见http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.escape(v=vs.110).aspx

如果您阅读文档,您将发现方法Regex.Escape(),它可能会达到您的目的。

其他注意事项:

  • 为什么要这样做:@"" + dstPath + ""解析为dstPath,不变。

  • 为什么您要尝试使用正则表达式来处理可能通过使用string.StartsWith()和/或System.IO.Path 的方法和属性来更好地解决的问题