dealry 发表于 2008-1-24 19:53

正则表达式之路径匹配的问题

我有一个以路径作为字符串
例如:
var reg = "d:\aa\bb";
reg.replace(/\\/g,"/");

但是不行
我用"d:\\aa\\bb"试了一下,可以
但是只匹配了前面,bb前面的没有匹配
有没有什么办法解决呢?
想向大家请教

[[italic] 本帖最后由 dealry 于 2008-1-24 20:22 编辑 [/italic]]

渚薰 发表于 2008-1-25 09:39

字符串中要使用反斜杠,必须是\\,不然就相当于转义\a
而,这种类似要替换的方式,我建议用这种
reg.split("\\").join("/");

dealry 发表于 2008-1-25 15:40

发现
\b有特殊意义
alert(reg)时会去掉a前的/,\b变成了特殊符号
版主的方法试了没有解决啊
可以不考虑特殊符号(比如在前面加"_"来解决)

渚薰 发表于 2008-1-28 08:47

……怎么会解决不了,你自己在好好试试
var str="d:\\aa\\bb";
str.split("\\").join("/");
>>>"d:/aa/bb"

dealry 发表于 2008-1-28 13:43


我的实际情况是要吧路径的\,转为/,
实际路径没有两个\
不好意思,没有说清楚
多谢版主的意见

渚薰 发表于 2008-1-29 12:52

实际路径是没有~~~但是在字符串里使用反斜杠是要转义的~~~~~
所以是\\,代表一个反斜杠

dealry 发表于 2008-1-29 15:28

恩,多谢版主的耐心指点[em03]

页: [1]

编程论坛