C# regex.ismatch使用变量

本文关键字:变量 ismatch regex | 更新日期: 2023-09-27 17:55:10

我有以下代码可以正常工作,但我需要用变量替换站点地址...

string url = HttpContext.Current.Request.Url.AbsoluteUri;  // Get the URL
bool match = Regex.IsMatch(url, @"(^|'s)http://www.mywebsite.co.uk/index.aspx('s|$)");

我已经尝试了以下内容,但它不起作用,任何想法???

string url = HttpContext.Current.Request.Url.AbsoluteUri;  // Get the URL
string myurl = "http://www.mywebsite.co.uk/index.aspx";
bool match = Regex.IsMatch(url, @"(^|'s)"+myurl+"('s|$)");

C# regex.ismatch使用变量

您缺少@

bool match = Regex.IsMatch(url, @"(^|'s)" + myurl + @"('s|$)");

需要额外@的原因是@仅适用于紧随其后的字符串文本。它不适用于整个生产线的其余部分。

您还应考虑对网址进行转义:

bool match = Regex.IsMatch(url, @"(^|'s)" + Regex.Escape(myurl) + @"('s|$)");