正则表达式中的\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;
            }


小小的纪念一下在这上面浪费掉的时间。。。

 

posted @ 2016-04-15 15:40  No5Meters  阅读(7499)  评论(0编辑  收藏  举报