\ 是转义字符,出现在字符的前面,表示一个整体,比如说"n",就表示换行符。见下面代码:
var str = '\fedlab';
console.log(str.length); // 6
consoele.info(str);//edlab
console.log(/^\fedlab/.test('\fedlab')); // true
\ 被当成转义字符,是底层的实现,无法进行查找和替换,字符还是要写成
"a\\a\\\\a/b"
才行
-
创建
test.txt
,内容为a\a\\a/b
-
创建
test.js
,下面node控制台进行一些测试和结果:
//test.js
'use strict';
var fs=require('fs')
var a=fs.readFileSync(__dirname+'/test.txt').toString()
var b='a\\a\\\\a/b'
console.log(a.length) //=>8 如果不是8,可能是加入了一些空格或换行符
console.log(a==b) //=>true
console.log(a.replace(/\\/g,'-')) //=>a-a--a/b
java 中,从外部获取的字符串中含有单个反斜杠,
按正常的字符串解析,java内部会把\变成\\转义的
比如你在网页上输入一个\,java端获得的就是"\\",不可能只获得一个"\"(这样是非法字符串,通不过的),