正则表达式中的\n
搜索文件中的字符,希望每次从每行的开始进行匹配。
所以在表达式开头加了\n
结果发现怎么都匹配不了。
string regEx = @"\n\d*\s*!\s*TESTNAME”
最后,偶然发现,原来必须是\n,而不是\\n,
不能再字符串的开头添加@字符。
去掉@后,后面的转义字符依次添加\进行\的转义。
匹配正常了。
string regEx = "\n\\d*\\s*!\\s*TESTNAME“
搜索文本的代码体如下:
string fileContent = File.ReadAllText(path); Match m; int line = 0; try { m = Regex.Match(fileContent, regEx, RegexOptions.IgnoreCase); } catch (Exception ex) { return 0; } if (m.Captures.Count > 0) { line = fileContent.Substring(0, m.Captures[0].Index+1).Count(f => f == '\n'); return line; } else { return 0; }
小小的纪念一下在这上面浪费掉的时间。。。