C#中换行符\n正则表达式测试


新建一个.NET Core控制台项目,敲入下面代码:

using System;
using System.Text.RegularExpressions;

namespace NetCoreRegularEscapeDemos
{
    class Program
    {
        static void Main(string[] args)
        {
            string text1 = "\n good day!";
            string pattern1 = "^\n.+$";
            string pattern2 = "^\\n.+$";
            string pattern3 = "^\\\n.+$";

            bool isMatched1 = false;
            bool isMatched2 = false;
            bool isMatched3 = false;

            isMatched1 = Regex.IsMatch(text1, pattern1);//true
            isMatched2 = Regex.IsMatch(text1, pattern2);//true
            isMatched3 = Regex.IsMatch(text1, pattern3);//true

            Console.WriteLine("isMatched1={0}", isMatched1);
            Console.WriteLine("isMatched2={0}", isMatched2);
            Console.WriteLine("isMatched3={0}", isMatched3);

            string text2 = "\\n good day!";
            string pattern4 = "^\\\\n.+$";
            bool isMatched4 = false;

            isMatched4 = Regex.IsMatch(text2, pattern4);//true
            Console.WriteLine("isMatched4={0}", isMatched4);

            Console.WriteLine("Press any key to end...");
            Console.ReadKey();
        }
    }
}

运行结果如下所示:

所以可以看到,实际上在C#中,字符串中的换行符"\n",和正则表达式字符串中的"\n"、"\\n"、"\\\n"都是匹配的。

而C#字符串"\\n",用正则表达式字符串"\\\\n",来进行匹配是成功的。

 


免责声明!

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



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