1

我想替换,出现在 Windows 目录中的“\”链接到“/”。我尝试使用s//\////g,但似乎没有奏效。

4

3 回答 3

12
s[\\][//]g
  • \ 需要在正则表达式中转义
  • / 才不是
  • 在表达式本身中使用 / 时避免使用 / 来分隔正则表达式部分(它使事情更具可读性!)

...但您可能应该使用类似Path::Class的东西。

于 2010-01-05T11:08:36.537 回答
5

首先,使用不同的分隔符\将使您的正则表达式更具可读性。

然后您必须将 替换为\\\否则它将用于转义以下字符(/您正在使用的正则表达式中的 a )。

$link =~ s|\\|//|g;
于 2010-01-05T11:11:19.613 回答
2

我认为应该这样做:`

$str =~ s{\\}{//}g; 
于 2010-01-05T11:58:16.527 回答