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


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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM