【发布时间】:2017-02-21 10:04:31
【问题描述】:
这个正则表达式在网上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
}
我错过了什么?
【问题讨论】:
-
请发布一个minimal reproducible example,其中包含一个字符串,该正则表达式在您希望它成功但失败的地方进行了测试。
-
看来
$与\n的开头匹配,但由于文件包含\r\n,因此您需要在模式中明确提及这一点。试试这个模式:@"^\.lnr-(.*)\:before \{\r$"或@"^\.lnr-(.*)\:before \{\s?$"。这似乎记录在Anchors in Regular Expressions 下。 -
字符串输入在在线正则表达式演示链接中。但也可以从demos.themecycle.com/eduhtml/edu/css/linearicons-free.css 联系到
-
这很有效@LasseV.Karlsen 非常感谢你
标签: c# asp.net regex asp.net-mvc newline