这个正则表达式适用于在线regex testers,但是当我尝试这段代码时,正则表达式不匹配。
Regex regex = new Regex(@"^\.lnr-(.*)\:before \{$", RegexOptions.Compiled | RegexOptions.Multiline);
string css = System.IO.File.ReadAllText(Server.MapPath("/linearicons-free.css"));
foreach (Match match in regex.Matches(css))
{
//doing sth
}
我错过了什么?
答案 0 :(得分:2)
当C#解析字符串时,最后有一个\n
。
因此,您的模式^\.lnr-(.*):before \{$
会失败,因为您期望的最后一个charcater是{
将模式更改为^\.lnr-(.*):before \{\s$
,它应该有效。
您可以测试.NET正则表达式here而不是regex101.com