在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.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
的方法和属性来更好地解决的问题