perl如何用反斜杠“\”替换正斜杠“/”

LiuLinda999 2014-01-16 11:13:03
用下面语句有语法错误,请指点啊~~
s///\\/;
...全文
757 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fibbery 2014-01-20
  • 打赏
  • 举报
回复
正则表达式的边界符在Perl中是可以变换的.当你的正则表达式字符串中存在边界符时,你可以选择其它不在表达式中的字符.
$str = "/abc/def/";
$str =~ s{/}{\\}g;
print("$str\n");

$str = "/abc/def/";
$str =~ s#/#\\#g;
print("$str\n");
对于开闭方式的边界符,必须成对出现,例如{}[]。
笃墨 2014-01-16
  • 打赏
  • 举报
回复
my $a='a/s';
$a=~s#/#\\#;
print $a
jiandingzhe 2014-01-16
  • 打赏
  • 举报
回复
你的正斜杠需要转义啊:
s/\//\\/g
或者,你可以换一个表达式的分割符,这样正斜杠不需要转义,只需要转义反斜杠:
s[/][\\]g

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧