Mar*_*tiz 1 regex perl file metacharacters
我在使用正则表达式替换元字符时遇到问题.我希望正则表达式替换元字符的短语是:
ley+sobre+propiedad+literaria+1847
Run Code Online (Sandbox Code Playgroud)
我使用的代码如下:
$file =~ s/\+/\s/; # --> Replace the +
但它似乎只取代了第一个元字符,结果是:
leysobre+propiedad+literaria+1847
Run Code Online (Sandbox Code Playgroud)
我用什么?
\s是一个字符类,不是字符串的有效转义.替换的第二部分被视为字符串./g替换上的开关.tr///操作员.假设您想要替换+空格:
tr/+/ /;
Run Code Online (Sandbox Code Playgroud)
要么
s/\+/ /g;
Run Code Online (Sandbox Code Playgroud)
如果要解码URL:
use URL::Encode 'url_decode';
my $real_filename = url_decode $file;
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅URL :: Encode的文档.