正则表达式反斜杠为何四个斜杠?

前端之家收集整理的这篇文章主要介绍了正则表达式反斜杠为何四个斜杠?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

转载请注明出处:http://blog.csdn.net/yudbl/article/details/78285827

正则表达式反斜杠为何四个斜杠?下面是我的理解:

//			String fileNameBack = "data\2012\09\18\20120918.txt";
			String fileNameBack = "data\\2012\\09\\18\\20120918.txt";
//			String fnb = fileNameBack.replace("\\\\","\\\\");
//			System.out.println(fnb);
			String[] temps = fileNameBack.split("\\\\");
			System.out.println(temps[temps.length-1]);
			//说明
			//(1)
			//反斜杠在配置文件路径时,由于它本身在java中有特殊意义,
			//作为转义符而存在,如“\n”(换行)、“\””(字符‘”‘)等.
			//(2)
			//字符串中具体意义上的反斜杠要两个
			//也就是第一个反斜杠是作为转义符存在的,第二个才是真正意义上的反斜杠,//所以在字符串中要表示字符’\’要用“\\”来表示
			//例如:这样定义一个字符串路径 String pathStr= "data\20120918.txt"; 是错误的,
			//要这样定义String pathStr= "data\\20120918.txt";
			//(3)
			//正则表达式匹配一个反斜杠,需要四个反斜杠"\\\\"
			//在字符串中,两个反斜杠被解释为一个反斜杠,
			//然后在作为正则表达式, \\ 则被正则表达式引擎解释为 \,所以在正则表达式中需要使用四个反斜杠。 
			//也就是说,前两个反斜杠在字符串中被解释为一个反斜杠,后两个也被解释为一个反斜杠,
			//这时解释完毕后变成两个反斜杠,再由正则表达式解释两个反斜杠,就又解释成了一个反斜杠,
			//所以,在正则表达式中要匹配一个反斜杠时,需要四个反斜杠。
			//如:上面要匹配点号时,
			//需要在点号之前加上两个反斜杠,否则将被正则表达式当作一个点号,
			//一个点号在正则表达式中表示匹配任意字符了。
原文链接:https://www.f2er.com/regex/357877.html

猜你在找的正则表达式相关文章